home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1999-08-01 | 14.0 KB | [ TEXT/CWIE]
open in: MacOS 8.1
extracted
|
Win98
extracted
|
DOS
extracted
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary ).
You can browse this item here: DrawXX.cpp
Confidence Program Detection Match Type Support
10%
dexvert
MacBinary (archive/macBinary)
fallback
Supported
1%
dexvert
Text File (text/txt)
fallback
Supported
100%
file
MacBinary II, inited, Sun Aug 1 03:43:17 1999, modified Sun Aug 1 03:43:17 1999, creator 'CWIE', type ASCII, 13607 bytes "DrawXX.cpp" , at 0x35a7 410 bytes resource
default (weak)
99%
file
data
default
74%
TrID
Macintosh plain text (MacBinary)
default
25%
TrID
MacBinary 2
default (weak)
100%
siegfried
fmt/1762 MacBinary (II)
default
100%
lsar
MacBinary
default
id metadata key value macFileType [ TEXT] macFileCreator [ CWIE]
hex view +--------+-------------------------+-------------------------+--------+--------+ |00000000| 00 0a 44 72 61 77 58 58 | 2e 63 70 70 00 00 00 00 |..DrawXX|.cpp....| |00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000040| 00 54 45 58 54 43 57 49 | 45 01 00 00 00 00 00 00 |.TEXTCWI|E.......| |00000050| 00 00 00 00 00 35 27 00 | 00 01 9a b3 c9 ab 15 b3 |.....5'.|........| |00000060| c9 ab 15 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 3b 53 00 00 |........|....;S..| |00000080| 23 69 66 20 50 5f 53 5a | 20 3d 3d 20 31 0d 09 23 |#if P_SZ| == 1..#| |00000090| 64 65 66 69 6e 65 20 50 | 49 58 54 59 50 45 20 75 |define P|IXTYPE u| |000000a0| 6e 73 69 67 6e 65 64 20 | 63 68 61 72 0d 09 23 64 |nsigned |char..#d| |000000b0| 65 66 69 6e 65 20 52 45 | 44 53 48 49 46 54 20 34 |efine RE|DSHIFT 4| |000000c0| 0d 09 23 64 65 66 69 6e | 65 20 47 52 4e 53 48 49 |..#defin|e GRNSHI| |000000d0| 46 54 20 32 0d 09 23 64 | 65 66 69 6e 65 20 43 4f |FT 2..#d|efine CO| |000000e0| 4c 4d 41 53 4b 20 30 78 | 33 0d 09 23 64 65 66 69 |LMASK 0x|3..#defi| |000000f0| 6e 65 20 5f 4c 69 6e 65 | 09 09 09 4c 69 6e 65 38 |ne _Line|...Line8| |00000100| 0d 09 23 64 65 66 69 6e | 65 20 5f 42 6f 78 42 6c |..#defin|e _BoxBl| |00000110| 75 72 09 09 42 6f 78 42 | 6c 75 72 38 0d 09 23 64 |ur..BoxB|lur8..#d| |00000120| 65 66 69 6e 65 20 5f 43 | 72 6f 73 73 42 6c 75 72 |efine _C|rossBlur| |00000130| 09 09 43 72 6f 73 73 42 | 6c 75 72 38 0d 09 23 64 |..CrossB|lur8..#d| |00000140| 65 66 69 6e 65 20 5f 45 | 72 61 73 65 52 65 63 74 |efine _E|raseRect| |00000150| 09 09 45 72 61 73 65 52 | 65 63 74 38 0d 09 23 64 |..EraseR|ect8..#d| |00000160| 65 66 69 6e 65 20 5f 5f | 43 6c 72 28 72 2c 67 2c |efine __|Clr(r,g,| |00000170| 62 29 09 30 0d 23 65 6c | 69 66 20 50 5f 53 5a 20 |b).0.#el|if P_SZ | |00000180| 3d 3d 20 32 0d 09 23 64 | 65 66 69 6e 65 20 50 49 |== 2..#d|efine PI| |00000190| 58 54 59 50 45 20 75 6e | 73 69 67 6e 65 64 20 73 |XTYPE un|signed s| |000001a0| 68 6f 72 74 0d 09 23 64 | 65 66 69 6e 65 20 52 45 |hort..#d|efine RE| |000001b0| 44 53 48 49 46 54 20 31 | 30 0d 09 23 64 65 66 69 |DSHIFT 1|0..#defi| |000001c0| 6e 65 20 47 52 4e 53 48 | 49 46 54 20 35 0d 09 23 |ne GRNSH|IFT 5..#| |000001d0| 64 65 66 69 6e 65 20 43 | 4f 4c 4d 41 53 4b 20 30 |define C|OLMASK 0| |000001e0| 78 31 46 0d 09 23 64 65 | 66 69 6e 65 20 5f 4c 69 |x1F..#de|fine _Li| |000001f0| 6e 65 09 09 09 4c 69 6e | 65 31 36 0d 09 23 64 65 |ne...Lin|e16..#de| |00000200| 66 69 6e 65 20 5f 42 6f | 78 42 6c 75 72 09 09 42 |fine _Bo|xBlur..B| |00000210| 6f 78 42 6c 75 72 31 36 | 0d 09 23 64 65 66 69 6e |oxBlur16|..#defin| |00000220| 65 20 5f 43 72 6f 73 73 | 42 6c 75 72 09 09 43 72 |e _Cross|Blur..Cr| |00000230| 6f 73 73 42 6c 75 72 31 | 36 0d 09 23 64 65 66 69 |ossBlur1|6..#defi| |00000240| 6e 65 20 5f 45 72 61 73 | 65 52 65 63 74 09 09 45 |ne _Eras|eRect..E| |00000250| 72 61 73 65 52 65 63 74 | 31 36 0d 09 23 64 65 66 |raseRect|16..#def| |00000260| 69 6e 65 20 5f 5f 43 6c | 72 28 72 2c 67 2c 62 29 |ine __Cl|r(r,g,b)| |00000270| 09 28 28 28 72 20 26 20 | 30 78 46 38 30 30 29 20 |.(((r & |0xF800) | |00000280| 3e 3e 20 31 29 20 7c 20 | 28 28 67 20 26 20 30 78 |>> 1) | |((g & 0x| |00000290| 46 38 30 30 29 20 3e 3e | 20 36 29 20 7c 20 28 62 |F800) >>| 6) | (b| |000002a0| 20 3e 3e 20 31 31 29 29 | 0d 23 65 6c 69 66 20 50 | >> 11))|.#elif P| |000002b0| 5f 53 5a 20 3d 3d 20 34 | 0d 09 23 64 65 66 69 6e |_SZ == 4|..#defin| |000002c0| 65 20 50 49 58 54 59 50 | 45 20 75 6e 73 69 67 6e |e PIXTYP|E unsign| |000002d0| 65 64 20 6c 6f 6e 67 0d | 09 23 64 65 66 69 6e 65 |ed long.|.#define| |000002e0| 20 52 45 44 53 48 49 46 | 54 20 31 36 0d 09 23 64 | REDSHIF|T 16..#d| |000002f0| 65 66 69 6e 65 20 47 52 | 4e 53 48 49 46 54 20 38 |efine GR|NSHIFT 8| |00000300| 0d 09 23 64 65 66 69 6e | 65 20 43 4f 4c 4d 41 53 |..#defin|e COLMAS| |00000310| 4b 20 30 78 46 46 0d 09 | 23 64 65 66 69 6e 65 20 |K 0xFF..|#define | |00000320| 5f 4c 69 6e 65 09 09 09 | 4c 69 6e 65 33 32 0d 09 |_Line...|Line32..| |00000330| 23 64 65 66 69 6e 65 20 | 5f 42 6f 78 42 6c 75 72 |#define |_BoxBlur| |00000340| 09 09 42 6f 78 42 6c 75 | 72 33 32 0d 09 23 64 65 |..BoxBlu|r32..#de| |00000350| 66 69 6e 65 20 5f 43 72 | 6f 73 73 42 6c 75 72 09 |fine _Cr|ossBlur.| |00000360| 09 43 72 6f 73 73 42 6c | 75 72 33 32 0d 09 23 64 |.CrossBl|ur32..#d| |00000370| 65 66 69 6e 65 20 5f 45 | 72 61 73 65 52 65 63 74 |efine _E|raseRect| |00000380| 09 09 45 72 61 73 65 52 | 65 63 74 33 32 0d 09 23 |..EraseR|ect32..#| |00000390| 69 66 20 45 47 5f 4d 41 | 43 20 0d 09 23 64 65 66 |if EG_MA|C ..#def| |000003a0| 69 6e 65 09 5f 5f 43 6c | 72 28 72 2c 67 2c 62 29 |ine.__Cl|r(r,g,b)| |000003b0| 09 28 28 28 72 20 26 20 | 30 78 46 46 30 30 29 20 |.(((r & |0xFF00) | |000003c0| 3c 3c 20 38 29 20 7c 20 | 28 67 20 26 20 30 78 46 |<< 8) | |(g & 0xF| |000003d0| 46 30 30 29 20 7c 20 28 | 62 20 3e 3e 20 38 29 29 |F00) | (|b >> 8))| |000003e0| 0d 09 23 65 6c 69 66 20 | 45 47 5f 57 49 4e 0d 09 |..#elif |EG_WIN..| |000003f0| 23 64 65 66 69 6e 65 09 | 5f 5f 43 6c 72 28 72 2c |#define.|__Clr(r,| |00000400| 67 2c 62 29 09 5f 5f 77 | 69 6e 52 47 42 28 20 72 |g,b).__w|inRGB( r| |00000410| 2c 20 67 2c 20 62 20 29 | 0d 09 23 65 6e 64 69 66 |, g, b )|..#endif| |00000420| 0d 0d 23 65 6e 64 69 66 | 0d 0d 0d 0d 0d 23 64 65 |..#endif|.....#de| |00000430| 66 69 6e 65 20 5f 5f 64 | 6f 58 65 72 72 09 09 65 |fine __d|oXerr..e| |00000440| 72 72 6f 72 5f 74 65 72 | 6d 20 2b 3d 20 64 79 3b |rror_ter|m += dy;| |00000450| 09 09 09 09 5c 0d 09 09 | 09 09 09 09 69 66 20 28 |....\...|....if (| |00000460| 20 65 72 72 6f 72 5f 74 | 65 72 6d 20 3e 3d 20 64 | error_t|erm >= d| |00000470| 78 20 29 20 7b 09 09 5c | 0d 09 09 09 09 09 09 09 |x ) {..\|........| |00000480| 65 72 72 6f 72 5f 74 65 | 72 6d 20 2d 3d 20 64 78 |error_te|rm -= dx| |00000490| 3b 09 09 09 5c 0d 09 09 | 09 09 09 09 09 62 61 73 |;...\...|.....bas| |000004a0| 65 50 74 72 20 2b 3d 20 | 72 6f 77 4f 66 66 73 65 |ePtr += |rowOffse| |000004b0| 74 3b 09 09 5c 0d 09 09 | 09 09 09 09 09 79 6d 6f |t;..\...|.....ymo| |000004c0| 76 2d 2d 3b 09 09 09 09 | 09 09 5c 0d 09 09 09 09 |v--;....|..\.....| |000004d0| 09 09 7d 0d 09 09 09 09 | 09 09 0d 09 09 09 09 09 |..}.....|........| |000004e0| 09 0d 23 64 65 66 69 6e | 65 20 5f 5f 64 6f 59 65 |..#defin|e __doYe| |000004f0| 72 72 09 09 65 72 72 6f | 72 5f 74 65 72 6d 20 2b |rr..erro|r_term +| |00000500| 3d 20 64 78 3b 09 09 09 | 09 5c 0d 09 09 09 09 09 |= dx;...|.\......| |00000510| 09 69 66 20 28 20 65 72 | 72 6f 72 5f 74 65 72 6d |.if ( er|ror_term| |00000520| 20 3e 3d 20 64 79 20 29 | 20 7b 09 09 5c 0d 09 09 | >= dy )| {..\...| |00000530| 09 09 09 09 09 65 72 72 | 6f 72 5f 74 65 72 6d 20 |.....err|or_term | |00000540| 2d 3d 20 64 79 3b 09 09 | 09 5c 0d 09 09 09 09 09 |-= dy;..|.\......| |00000550| 09 09 62 61 73 65 50 74 | 72 20 2b 3d 20 78 44 69 |..basePt|r += xDi| |00000560| 72 65 63 74 69 6f 6e 3b | 09 09 5c 0d 09 09 09 09 |rection;|..\.....| |00000570| 09 09 09 78 6d 6f 76 2d | 2d 3b 09 09 09 09 09 09 |...xmov-|-;......| |00000580| 5c 0d 09 09 09 09 09 09 | 7d 0d 0d 23 64 65 66 69 |\.......|}..#defi| |00000590| 6e 65 20 5f 5f 63 61 6c | 63 43 6c 72 09 09 63 6f |ne __cal|cClr..co| |000005a0| 6c 6f 72 20 3d 20 5f 5f | 43 6c 72 28 20 52 2c 20 |lor = __|Clr( R, | |000005b0| 47 2c 20 42 20 29 3b 09 | 09 5c 0d 09 09 09 09 09 |G, B );.|.\......| |000005c0| 09 52 20 2b 3d 20 64 52 | 3b 09 09 09 09 09 09 5c |.R += dR|;......\| |000005d0| 0d 09 09 09 09 09 09 47 | 20 2b 3d 20 64 47 3b 09 |.......G| += dG;.| |000005e0| 09 09 09 09 09 5c 0d 09 | 09 09 09 09 09 42 20 2b |.....\..|.....B +| |000005f0| 3d 20 64 42 3b 0d 0d 0d | 23 64 65 66 69 6e 65 20 |= dB;...|#define | |00000600| 5f 5f 63 69 72 63 28 20 | 64 69 61 2c 20 61 20 29 |__circ( |dia, a )| |00000610| 09 73 77 69 74 63 68 20 | 28 20 28 64 69 61 29 20 |.switch |( (dia) | |00000620| 29 09 09 7b 09 09 09 09 | 09 09 09 09 09 5c 0d 09 |)..{....|.....\..| |00000630| 09 09 09 09 09 09 09 63 | 61 73 65 20 32 3a 09 09 |.......c|ase 2:..| |00000640| 61 20 3d 20 22 5c 30 5c | 30 22 3b 20 62 72 65 61 |a = "\0\|0"; brea| |00000650| 6b 3b 09 09 09 09 09 09 | 09 5c 0d 09 09 09 09 09 |k;......|.\......| |00000660| 09 09 09 63 61 73 65 20 | 33 3a 09 09 61 20 3d 20 |...case |3:..a = | |00000670| 22 5c 30 5c 30 5c 30 22 | 3b 20 62 72 65 61 6b 3b |"\0\0\0"|; break;| |00000680| 09 09 09 09 09 09 5c 0d | 09 09 09 09 09 09 09 09 |......\.|........| |00000690| 63 61 73 65 20 34 3a 09 | 09 61 20 3d 20 22 5c 31 |case 4:.|.a = "\1| |000006a0| 5c 30 5c 30 5c 31 22 3b | 20 62 72 65 61 6b 3b 09 |\0\0\1";| break;.| |000006b0| 09 09 09 09 09 5c 0d 09 | 09 09 09 09 09 09 09 63 |.....\..|.......c| |000006c0| 61 73 65 20 35 3a 09 09 | 61 20 3d 20 22 5c 31 5c |ase 5:..|a = "\1\| |000006d0| 30 5c 30 5c 30 5c 31 22 | 3b 20 62 72 65 61 6b 3b |0\0\0\1"|; break;| |000006e0| 09 09 09 09 09 5c 0d 09 | 09 09 09 09 09 09 09 63 |.....\..|.......c| |000006f0| 61 73 65 20 36 3a 09 09 | 61 20 3d 20 22 5c 31 5c |ase 6:..|a = "\1\| |00000700| 30 5c 30 5c 30 5c 30 5c | 31 22 3b 20 62 72 65 61 |0\0\0\0\|1"; brea| |00000710| 6b 3b 09 09 09 09 09 5c | 0d 09 09 09 09 09 09 09 |k;.....\|........| |00000720| 09 63 61 73 65 20 37 3a | 09 09 61 20 3d 20 22 5c |.case 7:|..a = "\| |00000730| 32 5c 31 5c 30 5c 30 5c | 30 5c 31 5c 32 22 3b 20 |2\1\0\0\|0\1\2"; | |00000740| 62 72 65 61 6b 3b 09 09 | 09 09 5c 0d 09 09 09 09 |break;..|..\.....| |00000750| 09 09 09 09 63 61 73 65 | 20 38 3a 09 09 61 20 3d |....case| 8:..a =| |00000760| 20 22 5c 32 5c 31 5c 30 | 5c 30 5c 30 5c 30 5c 31 | "\2\1\0|\0\0\0\1| |00000770| 5c 32 22 3b 20 62 72 65 | 61 6b 3b 09 09 09 09 5c |\2"; bre|ak;....\| |00000780| 0d 09 09 09 09 09 09 09 | 09 63 61 73 65 20 39 3a |........|.case 9:| |00000790| 09 09 61 20 3d 20 22 5c | 33 5c 31 5c 31 5c 30 5c |..a = "\|3\1\1\0\| |000007a0| 30 5c 30 5c 31 5c 31 5c | 33 22 3b 20 62 72 65 61 |0\0\1\1\|3"; brea| |000007b0| 6b 3b 09 09 09 5c 0d 09 | 09 09 09 09 09 09 09 63 |k;...\..|.......c| |000007c0| 61 73 65 20 31 30 3a 09 | 61 20 3d 20 22 5c 33 5c |ase 10:.|a = "\3\| |000007d0| 31 5c 31 5c 30 5c 30 5c | 30 5c 30 5c 31 5c 31 5c |1\1\0\0\|0\0\1\1\| |000007e0| 33 22 3b 20 62 72 65 61 | 6b 3b 09 09 09 5c 0d 09 |3"; brea|k;...\..| |000007f0| 09 09 09 09 09 09 09 63 | 61 73 65 20 31 31 3a 09 |.......c|ase 11:.| |00000800| 61 20 3d 20 22 5c 34 5c | 32 5c 31 5c 31 5c 30 5c |a = "\4\|2\1\1\0\| |00000810| 30 5c 30 5c 31 5c 31 5c | 32 5c 34 22 3b 20 62 72 |0\0\1\1\|2\4"; br| |00000820| 65 61 6b 3b 09 09 5c 0d | 09 09 09 09 09 09 09 09 |eak;..\.|........| |00000830| 63 61 73 65 20 31 32 3a | 09 61 20 3d 20 22 5c 34 |case 12:|.a = "\4| |00000840| 5c 32 5c 31 5c 31 5c 30 | 5c 30 5c 30 5c 30 5c 31 |\2\1\1\0|\0\0\0\1| |00000850| 5c 31 5c 32 5c 34 22 3b | 20 62 72 65 61 6b 3b 09 |\1\2\4";| break;.| |00000860| 09 5c 0d 09 09 09 09 09 | 09 09 7d 0d 09 09 09 09 |.\......|..}.....| |00000870| 09 09 09 09 0d 0d 23 64 | 65 66 69 6e 65 20 43 4c |......#d|efine CL| |00000880| 52 5f 49 4e 54 45 52 50 | 20 31 0d 23 69 6e 63 6c |R_INTERP| 1.#incl| |00000890| 75 64 65 20 22 4c 69 6e | 65 58 58 2e 63 70 70 22 |ude "Lin|eXX.cpp"| |000008a0| 0d 23 75 6e 64 65 66 20 | 43 4c 52 5f 49 4e 54 45 |.#undef |CLR_INTE| |000008b0| 52 50 0d 23 69 6e 63 6c | 75 64 65 20 22 4c 69 6e |RP.#incl|ude "Lin| |000008c0| 65 58 58 2e 63 70 70 22 | 0d 0d 2f 2a 0d 76 6f 69 |eXX.cpp"|../*.voi| |000008d0| 64 20 50 69 78 50 6f 72 | 74 3a 3a 5f 4c 69 6e 65 |d PixPor|t::_Line| |000008e0| 28 20 69 6e 74 20 73 78 | 2c 20 69 6e 74 20 73 79 |( int sx|, int sy| |000008f0| 2c 20 69 6e 74 20 65 78 | 2c 20 69 6e 74 20 65 79 |, int ex|, int ey| |00000900| 2c 20 6c 6f 6e 67 20 69 | 6e 43 6f 6c 6f 72 20 29 |, long i|nColor )| |00000910| 20 7b 0d 09 69 6e 74 20 | 78 44 69 72 65 63 74 69 | {..int |xDirecti| |00000920| 6f 6e 2c 20 72 6f 77 4f | 66 66 73 65 74 2c 20 65 |on, rowO|ffset, e| |00000930| 72 72 6f 72 5f 74 65 72 | 6d 3b 0d 09 63 68 61 72 |rror_ter|m;..char| |00000940| 2a 20 62 61 73 65 50 74 | 72 3b 0d 09 69 6e 74 20 |* basePt|r;..int | |00000950| 78 6d 6f 76 2c 20 79 6d | 6f 76 2c 20 64 78 2c 20 |xmov, ym|ov, dx, | |00000960| 64 79 2c 20 74 3b 0d 09 | 0d 09 2f 2f 20 43 6c 69 |dy, t;..|..// Cli| |00000970| 70 70 69 6e 67 3a 20 53 | 65 74 20 74 68 65 20 70 |pping: S|et the p| |00000980| 65 6e 20 6c 6f 63 20 74 | 6f 20 61 20 70 6f 69 6e |en loc t|o a poin| |00000990| 74 20 74 68 61 74 27 73 | 20 69 6e 20 61 6e 64 20 |t that's| in and | |000009a0| 73 74 6f 70 20 64 72 61 | 77 69 6e 67 20 6f 6e 63 |stop dra|wing onc| |000009b0| 65 2f 69 66 20 74 68 65 | 20 70 65 6e 20 6d 6f 76 |e/if the| pen mov| |000009c0| 65 73 20 6f 75 74 0d 09 | 69 66 20 28 20 73 78 20 |es out..|if ( sx | |000009d0| 3c 20 30 20 7c 7c 20 73 | 78 20 3e 20 6d 58 20 7c |< 0 || s|x > mX || |000009e0| 7c 20 73 79 20 3c 20 30 | 20 7c 7c 20 73 79 20 3e || sy < 0| || sy >| |000009f0| 20 6d 59 20 29 20 7b 0d | 09 09 74 20 3d 20 65 78 | mY ) {.|..t = ex| |00000a00| 3b 20 65 78 20 3d 20 73 | 78 3b 20 73 78 20 3d 20 |; ex = s|x; sx = | |00000a10| 74 3b 0d 09 09 74 20 3d | 20 65 79 3b 20 65 79 20 |t;...t =| ey; ey | |00000a20| 3d 20 73 79 3b 20 73 79 | 20 3d 20 74 3b 0d 09 7d |= sy; sy| = t;..}| |00000a30| 0d 09 0d 09 2f 2f 20 45 | 78 69 74 20 69 66 20 74 |....// E|xit if t| |00000a40| 68 65 20 73 74 61 72 74 | 20 70 74 20 69 73 20 6f |he start| pt is o| |00000a50| 75 74 20 6f 66 20 62 6f | 75 6e 64 73 20 28 77 69 |ut of bo|unds (wi| |00000a60| 6d 70 79 20 63 6c 69 70 | 70 69 6e 67 2c 20 65 68 |mpy clip|ping, eh| |00000a70| 3f 29 0d 09 69 66 20 28 | 20 73 78 20 3c 20 30 20 |?)..if (| sx < 0 | |00000a80| 7c 7c 20 73 78 20 3e 20 | 6d 58 20 7c 7c 20 73 79 ||| sx > |mX || sy| |00000a90| 20 3c 20 30 20 7c 7c 20 | 73 79 20 3e 20 6d 59 20 | < 0 || |sy > mY | |00000aa0| 29 0d 09 09 72 65 74 75 | 72 6e 3b 0d 0d 09 2f 2f |)...retu|rn;...//| |00000ab0| 20 49 6e 20 57 69 6e 33 | 32 2c 20 65 76 65 72 79 | In Win3|2, every| |00000ac0| 74 68 69 6e 67 27 73 20 | 75 70 73 69 64 65 20 64 |thing's |upside d| |00000ad0| 6f 77 6e 0d 09 23 69 66 | 20 45 47 5f 57 49 4e 0d |own..#if| EG_WIN.| |00000ae0| 09 73 79 20 3d 20 6d 59 | 20 2d 20 73 79 3b 0d 09 |.sy = mY| - sy;..| |00000af0| 65 79 20 3d 20 6d 59 20 | 2d 20 65 79 3b 0d 09 23 |ey = mY |- ey;..#| |00000b00| 65 6e 64 69 66 09 0d 09 | 0d 09 64 78 20 3d 20 65 |endif...|..dx = e| |00000b10| 78 20 2d 20 73 78 3b 0d | 09 64 79 20 3d 20 65 79 |x - sx;.|.dy = ey| |00000b20| 20 2d 20 73 79 3b 0d 09 | 09 0d 09 2f 2f 20 6d 6f | - sy;..|...// mo| |00000b30| 76 69 6e 67 20 6c 65 66 | 74 20 6f 72 20 72 69 67 |ving lef|t or rig| |00000b40| 68 74 3f 0d 09 78 6d 6f | 76 20 3d 20 64 78 3b 0d |ht?..xmo|v = dx;.| |00000b50| 09 69 66 20 28 20 64 78 | 20 3c 20 30 20 29 20 7b |.if ( dx| < 0 ) {| |00000b60| 0d 09 09 78 6d 6f 76 20 | 3d 20 2d 64 78 3b 0d 09 |...xmov |= -dx;..| |00000b70| 09 69 66 20 28 20 73 78 | 20 2d 20 78 6d 6f 76 20 |.if ( sx| - xmov | |00000b80| 3c 20 30 20 29 0d 09 09 | 09 78 6d 6f 76 20 3d 20 |< 0 )...|.xmov = | |00000b90| 73 78 3b 0d 09 09 78 44 | 69 72 65 63 74 69 6f 6e |sx;...xD|irection| |00000ba0| 20 3d 20 2d 20 50 5f 53 | 5a 3b 0d 09 09 64 78 20 | = - P_S|Z;...dx | |00000bb0| 3d 20 2d 64 78 3b 20 7d | 0d 09 65 6c 73 65 20 69 |= -dx; }|..else i| |00000bc0| 66 20 28 20 64 78 20 3e | 20 30 20 29 20 7b 0d 09 |f ( dx >| 0 ) {..| |00000bd0| 09 69 66 20 28 20 73 78 | 20 2b 20 78 6d 6f 76 20 |.if ( sx| + xmov | |00000be0| 3e 20 6d 58 20 29 0d 09 | 09 09 78 6d 6f 76 20 3d |> mX )..|..xmov =| |00000bf0| 20 6d 58 20 2d 20 73 78 | 3b 0d 09 09 78 44 69 72 | mX - sx|;...xDir| |00000c00| 65 63 74 69 6f 6e 20 3d | 20 50 5f 53 5a 3b 20 20 |ection =| P_SZ; | |00000c10| 7d 0d 09 65 6c 73 65 20 | 0d 09 09 78 44 69 72 65 |}..else |...xDire| |00000c20| 63 74 69 6f 6e 20 3d 20 | 30 3b 0d 0d 09 2f 2f 20 |ction = |0;...// | |00000c30| 6d 6f 76 69 6e 67 20 75 | 70 20 6f 72 20 64 6f 77 |moving u|p or dow| |00000c40| 6e 3f 0d 09 79 6d 6f 76 | 20 3d 20 64 79 3b 0d 09 |n?..ymov| = dy;..| |00000c50| 69 66 20 28 20 64 79 20 | 3c 20 30 20 29 20 7b 0d |if ( dy |< 0 ) {.| |00000c60| 09 09 79 6d 6f 76 20 3d | 20 2d 64 79 3b 0d 09 09 |..ymov =| -dy;...| |00000c70| 69 66 20 28 20 73 79 20 | 2d 20 79 6d 6f 76 20 3c |if ( sy |- ymov <| |00000c80| 20 30 20 29 0d 09 09 09 | 79 6d 6f 76 20 3d 20 73 | 0 )....|ymov = s| |00000c90| 79 3b 0d 09 09 72 6f 77 | 4f 66 66 73 65 74 20 3d |y;...row|Offset =| |00000ca0| 20 2d 20 6d 42 79 74 65 | 73 50 65 72 52 6f 77 3b | - mByte|sPerRow;| |00000cb0| 0d 09 09 64 79 20 3d 20 | 2d 64 79 3b 20 7d 0d 09 |...dy = |-dy; }..| |00000cc0| 65 6c 73 65 20 69 66 20 | 28 20 64 79 20 3e 20 30 |else if |( dy > 0| |00000cd0| 20 29 20 7b 0d 09 09 69 | 66 20 28 20 73 79 20 2b | ) {...i|f ( sy +| |00000ce0| 20 79 6d 6f 76 20 3e 20 | 6d 59 20 29 0d 09 09 09 | ymov > |mY )....| |00000cf0| 79 6d 6f 76 20 3d 20 6d | 59 20 2d 20 73 79 3b 0d |ymov = m|Y - sy;.| |00000d00| 09 09 72 6f 77 4f 66 66 | 73 65 74 20 3d 20 6d 42 |..rowOff|set = mB| |00000d10| 79 74 65 73 50 65 72 52 | 6f 77 3b 20 20 7d 20 0d |ytesPerR|ow; } .| |00000d20| 09 65 6c 73 65 0d 09 09 | 72 6f 77 4f 66 66 73 65 |.else...|rowOffse| |00000d30| 74 20 3d 20 30 3b 0d 0d | 09 62 61 73 65 50 74 72 |t = 0;..|.basePtr| |00000d40| 20 3d 20 6d 42 69 74 73 | 20 2b 20 73 79 20 2a 20 | = mBits| + sy * | |00000d50| 6d 42 79 74 65 73 50 65 | 72 52 6f 77 20 2b 20 73 |mBytesPe|rRow + s| |00000d60| 78 20 2a 20 50 5f 53 5a | 3b 0d 09 65 72 72 6f 72 |x * P_SZ|;..error| |00000d70| 5f 74 65 72 6d 20 3d 20 | 30 3b 0d 0d 09 2f 2f 20 |_term = |0;...// | |00000d80| 44 72 61 77 20 74 68 65 | 20 6c 69 6e 65 0d 09 69 |Draw the| line..i| |00000d90| 66 20 28 20 64 78 20 3e | 3d 20 64 79 20 29 20 7b |f ( dx >|= dy ) {| |00000da0| 0d 09 09 0d 09 09 2f 2f | 20 53 74 61 72 74 20 63 |......//| Start c| |00000db0| 6f 75 6e 74 69 6e 67 20 | 6f 66 66 20 69 6e 20 78 |ounting |off in x| |00000dc0| 0d 09 09 66 6f 72 20 28 | 20 3b 20 78 6d 6f 76 20 |...for (| ; xmov | |00000dd0| 3e 3d 20 30 20 26 26 20 | 79 6d 6f 76 20 3e 3d 20 |>= 0 && |ymov >= | |00000de0| 30 3b 20 78 6d 6f 76 2d | 2d 20 29 20 7b 0d 09 09 |0; xmov-|- ) {...| |00000df0| 0d 09 09 09 2a 28 28 50 | 49 58 54 59 50 45 2a 29 |....*((P|IXTYPE*)| |00000e00| 20 62 61 73 65 50 74 72 | 29 20 3d 20 69 6e 43 6f | basePtr|) = inCo| |00000e10| 6c 6f 72 3b 0d 09 09 09 | 62 61 73 65 50 74 72 20 |lor;....|basePtr | |00000e20| 2b 3d 20 78 44 69 72 65 | 63 74 69 6f 6e 3b 0d 0d |+= xDire|ction;..| |00000e30| 09 09 09 2f 2f 20 43 68 | 65 63 6b 20 74 6f 20 73 |...// Ch|eck to s| |00000e40| 65 65 20 69 66 20 77 65 | 20 6e 65 65 64 20 74 6f |ee if we| need to| |00000e50| 20 6d 6f 76 65 20 74 68 | 65 20 70 69 78 65 6c 4f | move th|e pixelO| |00000e60| 66 66 73 65 74 20 69 6e | 20 74 68 65 20 79 20 64 |ffset in| the y d| |00000e70| 69 72 65 63 74 69 6f 6e | 2e 0d 09 09 09 65 72 72 |irection|.....err| |00000e80| 6f 72 5f 74 65 72 6d 20 | 2b 3d 20 64 79 3b 0d 09 |or_term |+= dy;..| |00000e90| 09 09 69 66 20 28 20 65 | 72 72 6f 72 5f 74 65 72 |..if ( e|rror_ter| |00000ea0| 6d 20 3e 3d 20 64 78 20 | 29 20 7b 0d 09 09 09 09 |m >= dx |) {.....| |00000eb0| 65 72 72 6f 72 5f 74 65 | 72 6d 20 2d 3d 20 64 78 |error_te|rm -= dx| |00000ec0| 3b 0d 09 09 09 09 62 61 | 73 65 50 74 72 20 2b 3d |;.....ba|sePtr +=| |00000ed0| 20 72 6f 77 4f 66 66 73 | 65 74 3b 0d 09 09 09 09 | rowOffs|et;.....| |00000ee0| 79 6d 6f 76 2d 2d 3b 0d | 09 09 09 7d 0d 09 09 7d |ymov--;.|...}...}| |00000ef0| 20 7d 0d 09 65 6c 73 65 | 20 7b 0d 09 09 2f 2f 20 | }..else| {...// | |00000f00| 53 74 61 72 74 20 63 6f | 75 6e 74 69 6e 67 20 6f |Start co|unting o| |00000f10| 66 66 20 69 6e 20 79 0d | 09 09 66 6f 72 20 28 20 |ff in y.|..for ( | |00000f20| 3b 20 79 6d 6f 76 20 3e | 3d 20 30 20 26 26 20 78 |; ymov >|= 0 && x| |00000f30| 6d 6f 76 20 3e 3d 20 30 | 3b 20 79 6d 6f 76 2d 2d |mov >= 0|; ymov--| |00000f40| 20 29 20 7b 0d 09 09 0d | 09 09 09 2a 28 28 50 49 | ) {....|...*((PI| |00000f50| 58 54 59 50 45 2a 29 20 | 62 61 73 65 50 74 72 29 |XTYPE*) |basePtr)| |00000f60| 20 3d 20 69 6e 43 6f 6c | 6f 72 3b 0d 09 09 09 62 | = inCol|or;....b| |00000f70| 61 73 65 50 74 72 20 2b | 3d 20 72 6f 77 4f 66 66 |asePtr +|= rowOff| |00000f80| 73 65 74 3b 0d 0d 09 09 | 09 2f 2f 20 43 68 65 63 |set;....|.// Chec| |00000f90| 6b 20 74 6f 20 73 65 65 | 20 69 66 20 77 65 20 6e |k to see| if we n| |00000fa0| 65 65 64 20 74 6f 20 6d | 6f 76 65 20 74 68 65 20 |eed to m|ove the | |00000fb0| 70 69 78 65 6c 4f 66 66 | 73 65 74 20 69 6e 20 74 |pixelOff|set in t| |00000fc0| 68 65 20 79 20 64 69 72 | 65 63 74 69 6f 6e 2e 0d |he y dir|ection..| |00000fd0| 09 09 09 65 72 72 6f 72 | 5f 74 65 72 6d 20 2b 3d |...error|_term +=| |00000fe0| 20 64 78 3b 0d 09 09 09 | 69 66 20 28 20 65 72 72 | dx;....|if ( err| |00000ff0| 6f 72 5f 74 65 72 6d 20 | 3e 3d 20 64 79 20 29 20 |or_term |>= dy ) | |00001000| 7b 0d 09 09 09 09 65 72 | 72 6f 72 5f 74 65 72 6d |{.....er|ror_term| |00001010| 20 2d 3d 20 64 79 3b 0d | 09 09 09 09 62 61 73 65 | -= dy;.|....base| |00001020| 50 74 72 20 2b 3d 20 78 | 44 69 72 65 63 74 69 6f |Ptr += x|Directio| |00001030| 6e 3b 0d 09 09 09 09 78 | 6d 6f 76 2d 2d 3b 0d 09 |n;.....x|mov--;..| |00001040| 09 09 7d 0d 09 09 7d 0d | 09 7d 0d 7d 0d 0d 2a 2f |..}...}.|.}.}..*/| |00001050| 0d 0d 0d 0d 2f 2a 0d 76 | 6f 69 64 20 50 69 78 50 |..../*.v|oid PixP| |00001060| 6f 72 74 3a 3a 5f 4c 69 | 6e 65 57 28 20 69 6e 74 |ort::_Li|neW( int| |00001070| 20 73 78 2c 20 69 6e 74 | 20 73 79 2c 20 69 6e 74 | sx, int| sy, int| |00001080| 20 65 78 2c 20 69 6e 74 | 20 65 79 2c 20 69 6e 74 | ex, int| ey, int| |00001090| 20 69 6e 57 69 64 74 68 | 2c 20 6c 6f 6e 67 20 69 | inWidth|, long i| |000010a0| 6e 43 6f 6c 6f 72 20 29 | 20 7b 0d 09 69 6e 74 20 |nColor )| {..int | |000010b0| 78 44 69 72 65 63 74 69 | 6f 6e 2c 20 72 6f 77 4f |xDirecti|on, rowO| |000010c0| 66 66 73 65 74 2c 20 65 | 72 72 6f 72 5f 74 65 72 |ffset, e|rror_ter| |000010d0| 6d 3b 0d 09 63 68 61 72 | 2a 20 62 61 73 65 50 74 |m;..char|* basePt| |000010e0| 72 2c 20 2a 72 6f 77 50 | 74 72 3b 0d 09 69 6e 74 |r, *rowP|tr;..int| |000010f0| 20 78 6d 6f 76 2c 20 79 | 6d 6f 76 2c 20 64 78 2c | xmov, y|mov, dx,| |00001100| 20 64 79 2c 20 74 2c 20 | 69 2c 20 78 44 69 72 2c | dy, t, |i, xDir,| |00001110| 20 79 44 69 72 3b 0d 09 | 0d 09 2f 2f 20 43 6c 69 | yDir;..|..// Cli| |00001120| 70 70 69 6e 67 3a 20 53 | 65 74 20 74 68 65 20 70 |pping: S|et the p| |00001130| 65 6e 20 6c 6f 63 20 74 | 6f 20 61 20 70 6f 69 6e |en loc t|o a poin| |00001140| 74 20 74 68 61 74 27 73 | 20 69 6e 20 61 6e 64 20 |t that's| in and | |00001150| 73 74 6f 70 20 64 72 61 | 77 69 6e 67 20 6f 6e 63 |stop dra|wing onc| |00001160| 65 2f 69 66 20 74 68 65 | 20 70 65 6e 20 6d 6f 76 |e/if the| pen mov| |00001170| 65 73 20 6f 75 74 0d 09 | 69 66 20 28 20 73 78 20 |es out..|if ( sx | |00001180| 3c 20 30 20 7c 7c 20 73 | 78 20 3e 20 6d 58 20 7c |< 0 || s|x > mX || |00001190| 7c 20 73 79 20 3c 20 30 | 20 7c 7c 20 73 79 20 3e || sy < 0| || sy >| |000011a0| 20 6d 59 20 29 20 7b 0d | 09 09 74 20 3d 20 65 78 | mY ) {.|..t = ex| |000011b0| 3b 20 65 78 20 3d 20 73 | 78 3b 20 73 78 20 3d 20 |; ex = s|x; sx = | |000011c0| 74 3b 0d 09 09 74 20 3d | 20 65 79 3b 20 65 79 20 |t;...t =| ey; ey | |000011d0| 3d 20 73 79 3b 20 73 79 | 20 3d 20 74 3b 0d 09 7d |= sy; sy| = t;..}| |000011e0| 0d 09 0d 09 2f 2f 20 45 | 78 69 74 20 69 66 20 74 |....// E|xit if t| |000011f0| 68 65 20 73 74 61 72 74 | 20 70 74 20 69 73 20 6f |he start| pt is o| |00001200| 75 74 20 6f 66 20 62 6f | 75 6e 64 73 20 28 77 69 |ut of bo|unds (wi| |00001210| 6d 70 79 20 63 6c 69 70 | 70 69 6e 67 2c 20 65 68 |mpy clip|ping, eh| |00001220| 3f 29 0d 09 69 66 20 28 | 20 73 78 20 3c 20 30 20 |?)..if (| sx < 0 | |00001230| 7c 7c 20 73 78 20 3e 20 | 6d 58 20 7c 7c 20 73 79 ||| sx > |mX || sy| |00001240| 20 3c 20 30 20 7c 7c 20 | 73 79 20 3e 20 6d 59 20 | < 0 || |sy > mY | |00001250| 29 0d 09 09 72 65 74 75 | 72 6e 3b 0d 0d 09 2f 2f |)...retu|rn;...//| |00001260| 20 49 6e 20 57 69 6e 33 | 32 2c 20 65 76 65 72 79 | In Win3|2, every| |00001270| 74 68 69 6e 67 27 73 20 | 75 70 73 69 64 65 20 64 |thing's |upside d| |00001280| 6f 77 6e 0d 09 23 69 66 | 20 45 47 5f 57 49 4e 0d |own..#if| EG_WIN.| |00001290| 09 73 79 20 3d 20 6d 59 | 20 2d 20 73 79 3b 0d 09 |.sy = mY| - sy;..| |000012a0| 65 79 20 3d 20 6d 59 20 | 2d 20 65 79 3b 0d 09 23 |ey = mY |- ey;..#| |000012b0| 65 6e 64 69 66 09 0d 09 | 0d 09 64 78 20 3d 20 65 |endif...|..dx = e| |000012c0| 78 20 2d 20 73 78 3b 0d | 09 64 79 20 3d 20 65 79 |x - sx;.|.dy = ey| |000012d0| 20 2d 20 73 79 3b 0d 09 | 09 0d 09 2f 2f 20 6d 6f | - sy;..|...// mo| |000012e0| 76 69 6e 67 20 6c 65 66 | 74 20 6f 72 20 72 69 67 |ving lef|t or rig| |000012f0| 68 74 3f 0d 09 78 6d 6f | 76 20 3d 20 64 78 3b 0d |ht?..xmo|v = dx;.| |00001300| 09 69 66 20 28 20 64 78 | 20 3c 20 30 20 29 20 7b |.if ( dx| < 0 ) {| |00001310| 0d 09 09 78 6d 6f 76 20 | 3d 20 2d 64 78 3b 0d 09 |...xmov |= -dx;..| |00001320| 09 69 66 20 28 20 73 78 | 20 2d 20 78 6d 6f 76 20 |.if ( sx| - xmov | |00001330| 3c 20 30 20 29 0d 09 09 | 09 78 6d 6f 76 20 3d 20 |< 0 )...|.xmov = | |00001340| 73 78 3b 0d 09 09 78 44 | 69 72 65 63 74 69 6f 6e |sx;...xD|irection| |00001350| 20 3d 20 2d 20 50 5f 53 | 5a 3b 0d 09 09 78 44 69 | = - P_S|Z;...xDi| |00001360| 72 20 3d 20 2d 31 3b 0d | 09 09 64 78 20 3d 20 2d |r = -1;.|..dx = -| |00001370| 64 78 3b 20 7d 0d 09 65 | 6c 73 65 20 69 66 20 28 |dx; }..e|lse if (| |00001380| 20 64 78 20 3e 20 30 20 | 29 20 7b 0d 09 09 69 66 | dx > 0 |) {...if| |00001390| 20 28 20 73 78 20 2b 20 | 78 6d 6f 76 20 3e 20 6d | ( sx + |xmov > m| |000013a0| 58 20 29 0d 09 09 09 78 | 6d 6f 76 20 3d 20 6d 58 |X )....x|mov = mX| |000013b0| 20 2d 20 73 78 3b 0d 09 | 09 78 44 69 72 20 3d 20 | - sx;..|.xDir = | |000013c0| 31 3b 0d 09 09 78 44 69 | 72 65 63 74 69 6f 6e 20 |1;...xDi|rection | |000013d0| 3d 20 50 5f 53 5a 3b 20 | 20 7d 0d 09 65 6c 73 65 |= P_SZ; | }..else| |000013e0| 20 7b 0d 09 09 78 44 69 | 72 65 63 74 69 6f 6e 20 | {...xDi|rection | |000013f0| 3d 20 30 3b 0d 09 09 78 | 44 69 72 20 3d 20 30 3b |= 0;...x|Dir = 0;| |00001400| 0d 09 7d 0d 0d 09 2f 2f | 20 6d 6f 76 69 6e 67 20 |..}...//| moving | |00001410| 75 70 20 6f 72 20 64 6f | 77 6e 3f 0d 09 79 6d 6f |up or do|wn?..ymo| |00001420| 76 20 3d 20 64 79 3b 0d | 09 69 66 20 28 20 64 79 |v = dy;.|.if ( dy| |00001430| 20 3c 20 30 20 29 20 7b | 0d 09 09 79 6d 6f 76 20 | < 0 ) {|...ymov | |00001440| 3d 20 2d 64 79 3b 0d 09 | 09 69 66 20 28 20 73 79 |= -dy;..|.if ( sy| |00001450| 20 2d 20 79 6d 6f 76 20 | 3c 20 30 20 29 0d 09 09 | - ymov |< 0 )...| |00001460| 09 79 6d 6f 76 20 3d 20 | 73 79 3b 0d 09 09 79 44 |.ymov = |sy;...yD| |00001470| 69 72 20 3d 20 31 3b 0d | 09 09 72 6f 77 4f 66 66 |ir = 1;.|..rowOff| |00001480| 73 65 74 20 3d 20 2d 20 | 6d 42 79 74 65 73 50 65 |set = - |mBytesPe| |00001490| 72 52 6f 77 3b 0d 09 09 | 64 79 20 3d 20 2d 64 79 |rRow;...|dy = -dy| |000014a0| 3b 20 7d 0d 09 65 6c 73 | 65 20 69 66 20 28 20 64 |; }..els|e if ( d| |000014b0| 79 20 3e 20 30 20 29 20 | 7b 0d 09 09 69 66 20 28 |y > 0 ) |{...if (| |000014c0| 20 73 79 20 2b 20 79 6d | 6f 76 20 3e 20 6d 59 20 | sy + ym|ov > mY | |000014d0| 29 0d 09 09 09 79 6d 6f | 76 20 3d 20 6d 59 20 2d |)....ymo|v = mY -| |000014e0| 20 73 79 3b 0d 09 09 79 | 44 69 72 20 3d 20 2d 31 | sy;...y|Dir = -1| |000014f0| 3b 0d 09 09 72 6f 77 4f | 66 66 73 65 74 20 3d 20 |;...rowO|ffset = | |00001500| 6d 42 79 74 65 73 50 65 | 72 52 6f 77 3b 20 20 7d |mBytesPe|rRow; }| |00001510| 20 0d 09 65 6c 73 65 20 | 7b 0d 09 09 79 44 69 72 | ..else |{...yDir| |00001520| 20 3d 20 30 3b 0d 09 09 | 72 6f 77 4f 66 66 73 65 | = 0;...|rowOffse| |00001530| 74 20 3d 20 30 3b 0d 09 | 7d 0d 0d 09 0d 09 62 61 |t = 0;..|}.....ba| |00001540| 73 65 50 74 72 20 3d 20 | 6d 42 69 74 73 20 2b 20 |sePtr = |mBits + | |00001550| 73 79 20 2a 20 6d 42 79 | 74 65 73 50 65 72 52 6f |sy * mBy|tesPerRo| |00001560| 77 20 2b 20 73 78 20 2a | 20 50 5f 53 5a 3b 0d 09 |w + sx *| P_SZ;..| |00001570| 65 72 72 6f 72 5f 74 65 | 72 6d 20 3d 20 30 3b 0d |error_te|rm = 0;.| |00001580| 0d 09 2f 2f 20 44 72 61 | 77 20 74 68 65 20 6c 69 |..// Dra|w the li| |00001590| 6e 65 0d 09 69 66 20 28 | 20 64 78 20 3e 3d 20 64 |ne..if (| dx >= d| |000015a0| 79 20 29 20 7b 0d 09 09 | 62 6f 6f 6c 20 64 69 64 |y ) {...|bool did| |000015b0| 52 6f 77 20 3d 20 66 61 | 6c 73 65 3b 0d 09 09 69 |Row = fa|lse;...i| |000015c0| 6e 74 20 6c 69 6d 78 3b | 0d 09 09 69 66 20 28 20 |nt limx;|...if ( | |000015d0| 78 44 69 72 65 63 74 69 | 6f 6e 20 3e 20 30 20 29 |xDirecti|on > 0 )| |000015e0| 0d 09 09 09 6c 69 6d 78 | 20 3d 20 65 78 3b 0d 09 |....limx| = ex;..| |000015f0| 09 65 6c 73 65 20 0d 09 | 09 09 6c 69 6d 78 20 3d |.else ..|..limx =| |00001600| 20 73 78 3b 0d 09 09 69 | 66 20 28 20 6c 69 6d 78 | sx;...i|f ( limx| |00001610| 20 3e 20 6d 58 20 29 0d | 09 09 09 6c 69 6d 78 20 | > mX ).|...limx | |00001620| 3d 20 6d 58 3b 0d 09 09 | 0d 0d 09 09 2f 2f 20 53 |= mX;...|....// S| |00001630| 74 61 72 74 20 63 6f 75 | 6e 74 69 6e 67 20 6f 66 |tart cou|nting of| |00001640| 66 20 69 6e 20 78 0d 09 | 09 66 6f 72 20 28 20 3b |f in x..|.for ( ;| |00001650| 20 78 6d 6f 76 20 3e 3d | 20 30 20 26 26 20 79 6d | xmov >=| 0 && ym| |00001660| 6f 76 20 3e 3d 20 30 3b | 20 78 6d 6f 76 2d 2d 20 |ov >= 0;| xmov-- | |00001670| 29 20 7b 0d 09 0d 09 09 | 09 69 66 20 28 20 21 20 |) {.....|.if ( ! | |00001680| 64 69 64 52 6f 77 20 29 | 20 7b 0d 09 09 09 09 66 |didRow )| {.....f| |00001690| 6f 72 20 28 20 69 20 3d | 20 30 3b 20 69 20 3c 20 |or ( i =| 0; i < | |000016a0| 69 6e 57 69 64 74 68 20 | 26 26 20 73 78 20 2b 20 |inWidth |&& sx + | |000016b0| 69 20 3c 3d 20 6c 69 6d | 78 3b 20 69 2b 2b 20 29 |i <= lim|x; i++ )| |000016c0| 20 7b 0d 09 09 09 09 09 | 28 28 50 49 58 54 59 50 | {......|((PIXTYP| |000016d0| 45 2a 29 20 62 61 73 65 | 50 74 72 29 5b 69 5d 20 |E*) base|Ptr)[i] | |000016e0| 3d 20 69 6e 43 6f 6c 6f | 72 3b 0d 09 09 09 09 7d |= inColo|r;.....}| |000016f0| 0d 09 09 09 09 64 69 64 | 52 6f 77 20 3d 20 74 72 |.....did|Row = tr| |00001700| 75 65 3b 0d 09 09 09 7d | 0d 09 09 09 73 78 20 2b |ue;....}|....sx +| |00001710| 3d 20 78 44 69 72 3b 0d | 09 0d 09 09 09 62 61 73 |= xDir;.|.....bas| |00001720| 65 50 74 72 20 2b 3d 20 | 78 44 69 72 65 63 74 69 |ePtr += |xDirecti| |00001730| 6f 6e 3b 0d 0d 09 09 09 | 2f 2f 20 43 68 65 63 6b |on;.....|// Check| |00001740| 20 74 6f 20 73 65 65 20 | 69 66 20 77 65 20 6e 65 | to see |if we ne| |00001750| 65 64 20 74 6f 20 6d 6f | 76 65 20 74 68 65 20 70 |ed to mo|ve the p| |00001760| 69 78 65 6c 4f 66 66 73 | 65 74 20 69 6e 20 74 68 |ixelOffs|et in th| |00001770| 65 20 79 20 64 69 72 65 | 63 74 69 6f 6e 2e 0d 09 |e y dire|ction...| |00001780| 09 09 65 72 72 6f 72 5f | 74 65 72 6d 20 2b 3d 20 |..error_|term += | |00001790| 64 79 3b 0d 09 09 09 69 | 66 20 28 20 65 72 72 6f |dy;....i|f ( erro| |000017a0| 72 5f 74 65 72 6d 20 3e | 3d 20 64 78 20 29 20 7b |r_term >|= dx ) {| |000017b0| 0d 09 09 09 09 65 72 72 | 6f 72 5f 74 65 72 6d 20 |.....err|or_term | |000017c0| 2d 3d 20 64 78 3b 0d 09 | 09 09 09 0d 09 09 09 09 |-= dx;..|........| |000017d0| 2f 2f 20 46 69 6e 69 73 | 68 20 74 68 65 20 72 65 |// Finis|h the re| |000017e0| 73 74 20 6f 66 20 74 68 | 65 20 6c 69 6e 65 20 77 |st of th|e line w| |000017f0| 69 64 74 68 2c 20 6d 61 | 6b 69 6e 67 20 73 75 72 |idth, ma|king sur| |00001800| 65 20 77 65 20 64 6f 6e | 27 74 20 67 6f 20 6f 66 |e we don|'t go of| |00001810| 66 20 74 68 65 20 72 69 | 67 68 74 0d 09 09 09 09 |f the ri|ght.....| |00001820| 64 69 64 52 6f 77 20 3d | 20 66 61 6c 73 65 3b 0d |didRow =| false;.| |00001830| 09 09 09 09 62 61 73 65 | 50 74 72 20 2b 3d 20 72 |....base|Ptr += r| |00001840| 6f 77 4f 66 66 73 65 74 | 3b 0d 09 09 09 09 79 6d |owOffset|;.....ym| |00001850| 6f 76 2d 2d 3b 0d 09 09 | 09 7d 0d 09 09 7d 20 7d |ov--;...|.}...} }| |00001860| 0d 09 65 6c 73 65 20 7b | 09 09 0d 09 09 0d 09 09 |..else {|........| |00001870| 2f 2f 20 53 74 61 72 74 | 20 63 6f 75 6e 74 69 6e |// Start| countin| |00001880| 67 20 6f 66 66 20 69 6e | 20 79 0d 09 09 66 6f 72 |g off in| y...for| |00001890| 20 28 20 3b 20 79 6d 6f | 76 20 3e 3d 20 30 20 26 | ( ; ymo|v >= 0 &| |000018a0| 26 20 78 6d 6f 76 20 3e | 3d 20 30 3b 20 79 6d 6f |& xmov >|= 0; ymo| |000018b0| 76 2d 2d 20 29 20 7b 0d | 09 09 0d 09 09 09 2f 2f |v-- ) {.|......//| |000018c0| 20 44 6f 20 74 68 65 20 | 77 68 6f 6c 65 20 6c 69 | Do the |whole li| |000018d0| 6e 65 20 77 69 64 74 68 | 2c 20 6d 61 6b 69 6e 67 |ne width|, making| |000018e0| 20 73 75 72 65 20 77 65 | 20 64 6f 6e 27 74 20 67 | sure we| don't g| |000018f0| 6f 20 6f 66 66 20 74 68 | 65 20 72 69 67 68 74 0d |o off th|e right.| |00001900| 09 09 09 66 6f 72 20 28 | 20 69 20 3d 20 30 3b 20 |...for (| i = 0; | |00001910| 69 20 3c 20 69 6e 57 69 | 64 74 68 20 26 26 20 73 |i < inWi|dth && s| |00001920| 78 20 2b 20 69 20 3c 20 | 6d 58 3b 20 69 2b 2b 20 |x + i < |mX; i++ | |00001930| 29 0d 09 09 09 09 28 28 | 50 49 58 54 59 50 45 2a |).....((|PIXTYPE*| |00001940| 29 20 62 61 73 65 50 74 | 72 29 5b 69 5d 20 3d 20 |) basePt|r)[i] = | |00001950| 69 6e 43 6f 6c 6f 72 3b | 0d 09 09 09 62 61 73 65 |inColor;|....base| |00001960| 50 74 72 20 2b 3d 20 72 | 6f 77 4f 66 66 73 65 74 |Ptr += r|owOffset| |00001970| 3b 0d 0d 09 09 09 2f 2f | 20 43 68 65 63 6b 20 74 |;.....//| Check t| |00001980| 6f 20 73 65 65 20 69 66 | 20 77 65 20 6e 65 65 64 |o see if| we need| |00001990| 20 74 6f 20 6d 6f 76 65 | 20 74 68 65 20 70 69 78 | to move| the pix| |000019a0| 65 6c 4f 66 66 73 65 74 | 20 69 6e 20 74 68 65 20 |elOffset| in the | |000019b0| 79 20 64 69 72 65 63 74 | 69 6f 6e 2e 0d 09 09 09 |y direct|ion.....| |000019c0| 65 72 72 6f 72 5f 74 65 | 72 6d 20 2b 3d 20 64 78 |error_te|rm += dx| |000019d0| 3b 0d 09 09 09 69 66 20 | 28 20 65 72 72 6f 72 5f |;....if |( error_| |000019e0| 74 65 72 6d 20 3e 3d 20 | 64 79 20 29 20 7b 0d 09 |term >= |dy ) {..| |000019f0| 09 09 09 65 72 72 6f 72 | 5f 74 65 72 6d 20 2d 3d |...error|_term -=| |00001a00| 20 64 79 3b 0d 09 09 09 | 09 62 61 73 65 50 74 72 | dy;....|.basePtr| |00001a10| 20 2b 3d 20 78 44 69 72 | 65 63 74 69 6f 6e 3b 0d | += xDir|ection;.| |00001a20| 09 09 09 09 78 6d 6f 76 | 2d 2d 3b 0d 09 09 09 09 |....xmov|--;.....| |00001a30| 73 78 20 2b 3d 20 78 44 | 69 72 3b 0d 09 09 09 7d |sx += xD|ir;....}| |00001a40| 0d 09 09 7d 0d 09 7d 0d | 7d 2a 2f 0d 0d 0d 0d 76 |...}..}.|}*/....v| |00001a50| 6f 69 64 20 50 69 78 50 | 6f 72 74 3a 3a 5f 45 72 |oid PixP|ort::_Er| |00001a60| 61 73 65 52 65 63 74 28 | 20 63 6f 6e 73 74 20 52 |aseRect(| const R| |00001a70| 65 63 74 2a 20 69 6e 52 | 65 63 74 20 29 20 7b 0d |ect* inR|ect ) {.| |00001a80| 09 6c 6f 6e 67 20 77 69 | 64 74 68 2c 20 68 65 69 |.long wi|dth, hei| |00001a90| 67 68 74 3b 0d 09 69 6e | 74 20 78 2c 20 79 3b 0d |ght;..in|t x, y;.| |00001aa0| 09 63 68 61 72 2a 09 62 | 61 73 65 3b 0d 09 52 65 |.char*.b|ase;..Re| |00001ab0| 63 74 09 72 3b 0d 0d 09 | 2f 2f 20 44 6f 6e 27 74 |ct.r;...|// Don't| |00001ac0| 20 6c 65 74 20 75 73 20 | 64 72 61 77 20 69 6e 20 | let us |draw in | |00001ad0| 72 61 6e 64 6f 6d 20 70 | 61 72 74 73 20 6f 66 20 |random p|arts of | |00001ae0| 6d 65 6d 6f 72 79 20 2d | 2d 20 63 6c 69 70 20 69 |memory -|- clip i| |00001af0| 6e 52 65 63 74 0d 09 69 | 66 20 28 20 69 6e 52 65 |nRect..i|f ( inRe| |00001b00| 63 74 20 29 20 7b 0d 09 | 09 72 20 3d 20 2a 69 6e |ct ) {..|.r = *in| |00001b10| 52 65 63 74 3b 0d 09 09 | 5f 5f 63 6c 69 70 50 74 |Rect;...|__clipPt| |00001b20| 28 20 72 2e 6c 65 66 74 | 2c 20 72 2e 74 6f 70 20 |( r.left|, r.top | |00001b30| 29 0d 09 09 5f 5f 63 6c | 69 70 50 74 28 20 72 2e |)...__cl|ipPt( r.| |00001b40| 72 69 67 68 74 2c 20 72 | 2e 62 6f 74 74 6f 6d 20 |right, r|.bottom | |00001b50| 29 20 7d 0d 09 65 6c 73 | 65 20 7b 0d 09 09 72 2e |) }..els|e {...r.| |00001b60| 74 6f 70 20 3d 20 72 2e | 6c 65 66 74 20 3d 20 30 |top = r.|left = 0| |00001b70| 3b 0d 09 09 72 2e 72 69 | 67 68 74 20 3d 20 6d 58 |;...r.ri|ght = mX| |00001b80| 3b 0d 09 09 72 2e 62 6f | 74 74 6f 6d 20 3d 20 6d |;...r.bo|ttom = m| |00001b90| 59 3b 0d 09 7d 0d 09 77 | 69 64 74 68 20 09 3d 20 |Y;..}..w|idth .= | |00001ba0| 72 2e 72 69 67 68 74 20 | 2d 20 72 2e 6c 65 66 74 |r.right |- r.left| |00001bb0| 3b 0d 09 68 65 69 67 68 | 74 09 3d 20 72 2e 62 6f |;..heigh|t.= r.bo| |00001bc0| 74 74 6f 6d 20 2d 20 72 | 2e 74 6f 70 3b 0d 0d 09 |ttom - r|.top;...| |00001bd0| 0d 09 2f 2f 20 49 6e 20 | 57 69 6e 33 32 2c 20 65 |..// In |Win32, e| |00001be0| 76 65 72 79 74 68 69 6e | 67 27 73 20 75 70 73 69 |verythin|g's upsi| |00001bf0| 64 65 20 64 6f 77 6e 0d | 09 23 69 66 20 45 47 5f |de down.|.#if EG_| |00001c00| 57 49 4e 0d 09 72 2e 74 | 6f 70 20 3d 20 6d 59 20 |WIN..r.t|op = mY | |00001c10| 2d 20 72 2e 62 6f 74 74 | 6f 6d 3b 0d 09 23 65 6e |- r.bott|om;..#en| |00001c20| 64 69 66 0d 09 0d 09 62 | 61 73 65 20 3d 20 6d 42 |dif....b|ase = mB| |00001c30| 69 74 73 20 2b 20 6d 42 | 79 74 65 73 50 65 72 50 |its + mB|ytesPerP| |00001c40| 69 78 20 2a 20 72 2e 6c | 65 66 74 20 2b 20 72 2e |ix * r.l|eft + r.| |00001c50| 74 6f 70 20 2a 20 6d 42 | 79 74 65 73 50 65 72 52 |top * mB|ytesPerR| |00001c60| 6f 77 3b 0d 09 66 6f 72 | 20 28 20 79 20 3d 20 30 |ow;..for| ( y = 0| |00001c70| 3b 20 79 20 3c 3d 20 68 | 65 69 67 68 74 3b 20 79 |; y <= h|eight; y| |00001c80| 2b 2b 20 29 20 7b 0d 09 | 09 66 6f 72 20 28 20 78 |++ ) {..|.for ( x| |00001c90| 20 3d 20 30 3b 20 78 20 | 3c 3d 20 77 69 64 74 68 | = 0; x |<= width| |00001ca0| 3b 20 78 2b 2b 20 29 20 | 7b 0d 09 09 09 2a 28 28 |; x++ ) |{....*((| |00001cb0| 50 49 58 54 59 50 45 2a | 29 20 62 61 73 65 29 20 |PIXTYPE*|) base) | |00001cc0| 3d 20 6d 42 61 63 6b 43 | 6f 6c 6f 72 3b 0d 09 09 |= mBackC|olor;...| |00001cd0| 09 62 61 73 65 20 2b 3d | 20 50 5f 53 5a 3b 0d 09 |.base +=| P_SZ;..| |00001ce0| 09 7d 0d 09 09 62 61 73 | 65 20 2b 3d 20 6d 42 79 |.}...bas|e += mBy| |00001cf0| 74 65 73 50 65 72 52 6f | 77 20 2d 20 50 5f 53 5a |tesPerRo|w - P_SZ| |00001d00| 20 2a 20 28 77 69 64 74 | 68 20 2b 20 31 29 3b 0d | * (widt|h + 1);.| |00001d10| 09 7d 0d 7d 0d 0d 0d 0d | 76 6f 69 64 20 50 69 78 |.}.}....|void Pix| |00001d20| 50 6f 72 74 3a 3a 5f 43 | 72 6f 73 73 42 6c 75 72 |Port::_C|rossBlur| |00001d30| 28 20 63 68 61 72 2a 20 | 69 6e 53 72 63 65 2c 20 |( char* |inSrce, | |00001d40| 69 6e 74 20 69 6e 57 69 | 64 74 68 2c 20 69 6e 74 |int inWi|dth, int| |00001d50| 20 69 6e 48 65 69 67 68 | 74 2c 20 69 6e 74 20 69 | inHeigh|t, int i| |00001d60| 6e 42 79 74 65 73 50 65 | 72 52 6f 77 2c 20 75 6e |nBytesPe|rRow, un| |00001d70| 73 69 67 6e 65 64 20 63 | 68 61 72 2a 20 69 6e 52 |signed c|har* inR| |00001d80| 6f 77 42 75 66 20 29 20 | 7b 0d 09 6c 6f 6e 67 20 |owBuf ) |{..long | |00001d90| 6c 65 66 74 52 2c 20 6c | 65 66 74 47 2c 20 6c 65 |leftR, l|eftG, le| |00001da0| 66 74 42 2c 20 63 65 6e | 52 2c 20 63 65 6e 47 2c |ftB, cen|R, cenG,| |00001db0| 20 63 65 6e 42 2c 20 72 | 69 67 68 74 52 2c 20 72 | cenB, r|ightR, r| |00001dc0| 69 67 68 74 47 2c 20 72 | 69 67 68 74 42 3b 0d 09 |ightG, r|ightB;..| |00001dd0| 6c 6f 6e 67 20 74 6f 70 | 52 2c 20 74 6f 70 47 2c |long top|R, topG,| |00001de0| 20 74 6f 70 42 2c 20 76 | 61 6c 2c 20 62 6f 74 52 | topB, v|al, botR| |00001df0| 2c 20 62 6f 74 47 2c 20 | 62 6f 74 42 2c 20 78 3b |, botG, |botB, x;| |00001e00| 0d 09 75 6e 73 69 67 6e | 65 64 20 63 68 61 72 20 |..unsign|ed char | |00001e10| 2a 72 6f 77 50 6f 73 3b | 0d 09 0d 09 2f 2f 20 49 |*rowPos;|....// I| |00001e20| 6e 69 74 20 69 6e 52 6f | 77 42 75 66 5b 5d 0d 09 |nit inRo|wBuf[]..| |00001e30| 72 6f 77 50 6f 73 20 3d | 20 69 6e 52 6f 77 42 75 |rowPos =| inRowBu| |00001e40| 66 3b 0d 09 66 6f 72 20 | 28 20 78 20 3d 20 30 3b |f;..for |( x = 0;| |00001e50| 20 78 20 3c 20 69 6e 57 | 69 64 74 68 3b 20 78 2b | x < inW|idth; x+| |00001e60| 2b 20 29 20 7b 0d 09 09 | 76 61 6c 20 3d 20 28 28 |+ ) {...|val = ((| |00001e70| 50 49 58 54 59 50 45 2a | 29 20 69 6e 53 72 63 65 |PIXTYPE*|) inSrce| |00001e80| 29 5b 20 78 20 5d 3b 0d | 09 09 72 6f 77 50 6f 73 |)[ x ];.|..rowPos| |00001e90| 5b 20 30 20 5d 20 20 3d | 20 76 61 6c 20 3e 3e 20 |[ 0 ] =| val >> | |00001ea0| 52 45 44 53 48 49 46 54 | 3b 20 0d 09 09 72 6f 77 |REDSHIFT|; ...row| |00001eb0| 50 6f 73 5b 20 31 20 5d | 20 3d 20 28 76 61 6c 20 |Pos[ 1 ]| = (val | |00001ec0| 3e 3e 20 47 52 4e 53 48 | 49 46 54 29 20 26 20 43 |>> GRNSH|IFT) & C| |00001ed0| 4f 4c 4d 41 53 4b 3b 0d | 09 09 72 6f 77 50 6f 73 |OLMASK;.|..rowPos| |00001ee0| 5b 20 32 20 5d 20 3d 20 | 76 61 6c 20 26 20 43 4f |[ 2 ] = |val & CO| |00001ef0| 4c 4d 41 53 4b 3b 0d 09 | 09 72 6f 77 50 6f 73 20 |LMASK;..|.rowPos | |00001f00| 2b 3d 20 33 3b 0d 09 7d | 0d 09 0d 09 2f 2f 20 47 |+= 3;..}|....// G| |00001f10| 6f 20 74 68 72 75 20 72 | 6f 77 20 62 79 20 72 6f |o thru r|ow by ro| |00001f20| 77 20 69 6e 20 74 68 65 | 20 73 6f 75 72 63 65 20 |w in the| source | |00001f30| 69 6d 67 0d 09 66 6f 72 | 20 28 20 3b 20 69 6e 48 |img..for| ( ; inH| |00001f40| 65 69 67 68 74 20 3e 20 | 30 3b 20 69 6e 48 65 69 |eight > |0; inHei| |00001f50| 67 68 74 2d 2d 20 29 20 | 7b 0d 09 0d 09 09 2f 2f |ght-- ) |{.....//| |00001f60| 20 50 72 69 6d 65 20 74 | 68 65 20 78 2d 6c 6f 6f | Prime t|he x-loo| |00001f70| 70 20 61 6e 64 20 67 65 | 74 20 6c 65 66 74 20 61 |p and ge|t left a| |00001f80| 6e 64 20 63 65 6e 20 70 | 69 78 65 6c 73 0d 09 09 |nd cen p|ixels...| |00001f90| 76 61 6c 20 3d 20 2a 28 | 28 50 49 58 54 59 50 45 |val = *(|(PIXTYPE| |00001fa0| 2a 29 20 69 6e 53 72 63 | 65 20 29 3b 0d 09 09 6c |*) inSrc|e );...l| |00001fb0| 65 66 74 52 20 3d 20 63 | 65 6e 52 20 3d 20 76 61 |eftR = c|enR = va| |00001fc0| 6c 20 3e 3e 20 52 45 44 | 53 48 49 46 54 3b 20 0d |l >> RED|SHIFT; .| |00001fd0| 09 09 6c 65 66 74 47 20 | 3d 20 63 65 6e 47 20 3d |..leftG |= cenG =| |00001fe0| 20 28 76 61 6c 20 3e 3e | 20 47 52 4e 53 48 49 46 | (val >>| GRNSHIF| |00001ff0| 54 29 20 26 20 43 4f 4c | 4d 41 53 4b 3b 0d 09 09 |T) & COL|MASK;...| |00002000| 6c 65 66 74 42 20 3d 20 | 63 65 6e 42 20 3d 20 76 |leftB = |cenB = v| |00002010| 61 6c 20 26 20 43 4f 4c | 4d 41 53 4b 3b 0d 09 09 |al & COL|MASK;...| |00002020| 0d 09 09 72 6f 77 50 6f | 73 20 3d 20 69 6e 52 6f |...rowPo|s = inRo| |00002030| 77 42 75 66 3b 0d 09 09 | 09 09 0d 09 09 66 6f 72 |wBuf;...|.....for| |00002040| 20 28 20 78 20 3d 20 30 | 3b 20 78 20 3c 20 69 6e | ( x = 0|; x < in| |00002050| 57 69 64 74 68 3b 20 78 | 2b 2b 20 29 20 7b 0d 09 |Width; x|++ ) {..| |00002060| 09 0d 09 09 09 2f 2f 20 | 47 65 74 20 74 6f 70 20 |.....// |Get top | |00002070| 70 69 78 65 6c 0d 09 09 | 09 74 6f 70 52 20 3d 20 |pixel...|.topR = | |00002080| 72 6f 77 50 6f 73 5b 20 | 30 20 5d 3b 0d 09 09 09 |rowPos[ |0 ];....| |00002090| 74 6f 70 47 20 3d 20 72 | 6f 77 50 6f 73 5b 20 31 |topG = r|owPos[ 1| |000020a0| 20 5d 3b 0d 09 09 09 74 | 6f 70 42 20 3d 20 72 6f | ];....t|opB = ro| |000020b0| 77 50 6f 73 5b 20 32 20 | 5d 3b 0d 09 09 09 0d 09 |wPos[ 2 |];......| |000020c0| 09 09 2f 2f 20 47 65 74 | 20 72 69 67 68 74 2d 6d |..// Get| right-m| |000020d0| 6f 73 74 20 70 69 78 65 | 6c 0d 09 09 09 76 61 6c |ost pixe|l....val| |000020e0| 20 3d 20 28 28 50 49 58 | 54 59 50 45 2a 29 20 69 | = ((PIX|TYPE*) i| |000020f0| 6e 53 72 63 65 29 5b 20 | 78 20 2b 20 31 20 5d 3b |nSrce)[ |x + 1 ];| |00002100| 0d 09 09 09 72 69 67 68 | 74 52 20 3d 20 76 61 6c |....righ|tR = val| |00002110| 20 3e 3e 20 52 45 44 53 | 48 49 46 54 3b 20 0d 09 | >> REDS|HIFT; ..| |00002120| 09 09 72 69 67 68 74 47 | 20 3d 20 28 76 61 6c 20 |..rightG| = (val | |00002130| 3e 3e 20 47 52 4e 53 48 | 49 46 54 29 20 26 20 43 |>> GRNSH|IFT) & C| |00002140| 4f 4c 4d 41 53 4b 3b 0d | 09 09 09 72 69 67 68 74 |OLMASK;.|...right| |00002150| 42 20 3d 20 76 61 6c 20 | 26 20 43 4f 4c 4d 41 53 |B = val |& COLMAS| |00002160| 4b 3b 0d 0d 09 09 09 2f | 2f 20 47 65 74 20 62 6f |K;...../|/ Get bo| |00002170| 74 74 6f 6d 20 70 69 78 | 65 6c 0d 09 09 09 76 61 |ttom pix|el....va| |00002180| 6c 20 3d 20 28 28 50 49 | 58 54 59 50 45 2a 29 20 |l = ((PI|XTYPE*) | |00002190| 28 69 6e 53 72 63 65 20 | 2b 20 69 6e 42 79 74 65 |(inSrce |+ inByte| |000021a0| 73 50 65 72 52 6f 77 29 | 29 5b 20 78 20 5d 3b 0d |sPerRow)|)[ x ];.| |000021b0| 09 09 09 62 6f 74 52 20 | 3d 20 76 61 6c 20 3e 3e |...botR |= val >>| |000021c0| 20 52 45 44 53 48 49 46 | 54 3b 20 0d 09 09 09 62 | REDSHIF|T; ....b| |000021d0| 6f 74 47 20 3d 20 28 76 | 61 6c 20 3e 3e 20 47 52 |otG = (v|al >> GR| |000021e0| 4e 53 48 49 46 54 29 20 | 26 20 43 4f 4c 4d 41 53 |NSHIFT) |& COLMAS| |000021f0| 4b 3b 0d 09 09 09 62 6f | 74 42 20 3d 20 76 61 6c |K;....bo|tB = val| |00002200| 20 26 20 43 4f 4c 4d 41 | 53 4b 3b 0d 09 09 09 0d | & COLMA|SK;.....| |00002210| 09 09 09 2a 72 6f 77 50 | 6f 73 20 3d 20 63 65 6e |...*rowP|os = cen| |00002220| 52 3b 09 09 72 6f 77 50 | 6f 73 2b 2b 3b 0d 09 09 |R;..rowP|os++;...| |00002230| 09 2a 72 6f 77 50 6f 73 | 20 3d 20 63 65 6e 47 3b |.*rowPos| = cenG;| |00002240| 09 09 72 6f 77 50 6f 73 | 2b 2b 3b 0d 09 09 09 2a |..rowPos|++;....*| |00002250| 72 6f 77 50 6f 73 20 3d | 20 63 65 6e 42 3b 09 09 |rowPos =| cenB;..| |00002260| 72 6f 77 50 6f 73 2b 2b | 3b 0d 09 09 09 0d 09 09 |rowPos++|;.......| |00002270| 09 62 6f 74 52 20 3d 20 | 28 20 28 20 63 65 6e 52 |.botR = |( ( cenR| |00002280| 20 3c 3c 20 32 20 29 20 | 2b 20 33 20 2a 20 28 20 | << 2 ) |+ 3 * ( | |00002290| 6c 65 66 74 52 20 2b 20 | 72 69 67 68 74 52 20 2b |leftR + |rightR +| |000022a0| 20 74 6f 70 52 20 2b 20 | 62 6f 74 52 20 29 20 29 | topR + |botR ) )| |000022b0| 20 3e 3e 20 34 3b 0d 09 | 09 09 62 6f 74 47 20 3d | >> 4;..|..botG =| |000022c0| 20 28 20 28 20 63 65 6e | 47 20 3c 3c 20 32 20 29 | ( ( cen|G << 2 )| |000022d0| 20 2b 20 33 20 2a 20 28 | 20 6c 65 66 74 47 20 2b | + 3 * (| leftG +| |000022e0| 20 72 69 67 68 74 47 20 | 2b 20 74 6f 70 47 20 2b | rightG |+ topG +| |000022f0| 20 62 6f 74 47 20 29 20 | 29 20 3e 3e 20 34 3b 0d | botG ) |) >> 4;.| |00002300| 09 09 09 62 6f 74 42 20 | 3d 20 28 20 28 20 63 65 |...botB |= ( ( ce| |00002310| 6e 42 20 3c 3c 20 32 20 | 29 20 2b 20 33 20 2a 20 |nB << 2 |) + 3 * | |00002320| 28 20 6c 65 66 74 42 20 | 2b 20 72 69 67 68 74 42 |( leftB |+ rightB| |00002330| 20 2b 20 74 6f 70 42 20 | 2b 20 62 6f 74 42 20 29 | + topB |+ botB )| |00002340| 20 29 20 3e 3e 20 34 3b | 0d 09 09 09 28 28 50 49 | ) >> 4;|....((PI| |00002350| 58 54 59 50 45 2a 29 20 | 69 6e 53 72 63 65 20 29 |XTYPE*) |inSrce )| |00002360| 5b 20 78 20 5d 20 3d 20 | 28 20 62 6f 74 52 20 3c |[ x ] = |( botR <| |00002370| 3c 20 52 45 44 53 48 49 | 46 54 20 29 20 7c 20 28 |< REDSHI|FT ) | (| |00002380| 20 62 6f 74 47 20 3c 3c | 20 47 52 4e 53 48 49 46 | botG <<| GRNSHIF| |00002390| 54 20 29 20 7c 20 62 6f | 74 42 3b 0d 09 09 09 0d |T ) | bo|tB;.....| |000023a0| 09 09 09 2f 2f 20 52 65 | 2d 75 73 65 20 61 6c 72 |...// Re|-use alr| |000023b0| 65 61 64 79 2d 66 65 74 | 63 68 65 64 20 6d 65 6d |eady-fet|ched mem| |000023c0| 6f 72 79 0d 09 09 09 6c | 65 66 74 52 20 3d 20 63 |ory....l|eftR = c| |000023d0| 65 6e 52 3b 09 63 65 6e | 52 20 3d 20 72 69 67 68 |enR;.cen|R = righ| |000023e0| 74 52 3b 0d 09 09 09 6c | 65 66 74 47 20 3d 20 63 |tR;....l|eftG = c| |000023f0| 65 6e 47 3b 09 63 65 6e | 47 20 3d 20 72 69 67 68 |enG;.cen|G = righ| |00002400| 74 47 3b 0d 09 09 09 6c | 65 66 74 42 20 3d 20 63 |tG;....l|eftB = c| |00002410| 65 6e 42 3b 09 63 65 6e | 42 20 3d 20 72 69 67 68 |enB;.cen|B = righ| |00002420| 74 42 3b 0d 09 09 7d 0d | 09 09 0d 09 09 69 6e 53 |tB;...}.|.....inS| |00002430| 72 63 65 20 2b 3d 20 69 | 6e 42 79 74 65 73 50 65 |rce += i|nBytesPe| |00002440| 72 52 6f 77 3b 0d 09 7d | 0d 7d 0d 0d 0d 0d 0d 0d |rRow;..}|.}......| |00002450| 0d 0d 23 64 65 66 69 6e | 65 20 55 4c 20 75 6e 73 |..#defin|e UL uns| |00002460| 69 67 6e 65 64 20 6c 6f | 6e 67 0d 23 64 65 66 69 |igned lo|ng.#defi| |00002470| 6e 65 20 44 45 4e 4f 4d | 5f 53 48 49 46 54 20 31 |ne DENOM|_SHIFT 1| |00002480| 34 0d 0d 0d 76 6f 69 64 | 20 50 69 78 50 6f 72 74 |4...void| PixPort| |00002490| 3a 3a 5f 42 6f 78 42 6c | 75 72 28 20 63 68 61 72 |::_BoxBl|ur( char| |000024a0| 2a 20 69 6e 53 72 63 65 | 2c 20 63 68 61 72 2a 20 |* inSrce|, char* | |000024b0| 69 6e 44 65 73 74 2c 20 | 69 6e 74 20 69 6e 42 6f |inDest, |int inBo| |000024c0| 78 57 69 64 74 68 2c 20 | 69 6e 74 20 69 6e 57 69 |xWidth, |int inWi| |000024d0| 64 74 68 2c 20 69 6e 74 | 20 69 6e 48 65 69 67 68 |dth, int| inHeigh| |000024e0| 74 2c 20 69 6e 74 20 69 | 6e 53 72 63 65 52 6f 77 |t, int i|nSrceRow| |000024f0| 57 69 64 74 68 2c 20 69 | 6e 74 20 69 6e 44 65 73 |Width, i|nt inDes| |00002500| 74 52 6f 77 57 69 64 74 | 68 2c 20 75 6e 73 69 67 |tRowWidt|h, unsig| |00002510| 6e 65 64 20 6c 6f 6e 67 | 2a 20 62 2c 20 75 6e 73 |ned long|* b, uns| |00002520| 69 67 6e 65 64 20 6c 6f | 6e 67 20 69 6e 42 61 63 |igned lo|ng inBac| |00002530| 6b 43 6f 6c 6f 72 20 29 | 20 7b 0d 09 72 65 67 69 |kColor )| {..regi| |00002540| 73 74 65 72 20 75 6e 73 | 69 67 6e 65 64 20 6c 6f |ster uns|igned lo| |00002550| 6e 67 2a 20 62 45 6e 64 | 3b 0d 09 72 65 67 69 73 |ng* bEnd|;..regis| |00002560| 74 65 72 20 63 68 61 72 | 20 2a 64 65 73 74 3b 0d |ter char| *dest;.| |00002570| 09 72 65 67 69 73 74 65 | 72 20 75 6e 73 69 67 6e |.registe|r unsign| |00002580| 65 64 20 6c 6f 6e 67 20 | 62 31 52 2c 20 62 31 47 |ed long |b1R, b1G| |00002590| 2c 20 62 31 42 2c 20 62 | 32 52 2c 20 62 32 47 2c |, b1B, b|2R, b2G,| |000025a0| 20 62 32 42 2c 20 62 33 | 52 2c 20 62 33 47 2c 20 | b2B, b3|R, b3G, | |000025b0| 62 33 42 2c 20 76 61 6c | 2c 20 62 6f 78 39 57 2c |b3B, val|, box9W,| |000025c0| 20 69 2c 20 6e 75 6d 65 | 72 61 74 6f 72 3b 0d 09 | i, nume|rator;..| |000025d0| 72 65 67 69 73 74 65 72 | 20 69 6e 74 20 78 2c 20 |register| int x, | |000025e0| 68 61 6c 66 2c 20 75 73 | 65 57 69 64 74 68 3b 0d |half, us|eWidth;.| |000025f0| 09 0d 09 69 20 3d 20 69 | 6e 42 6f 78 57 69 64 74 |...i = i|nBoxWidt| |00002600| 68 20 2a 20 69 6e 42 6f | 78 57 69 64 74 68 20 2a |h * inBo|xWidth *| |00002610| 20 69 6e 42 6f 78 57 69 | 64 74 68 3b 0d 09 6e 75 | inBoxWi|dth;..nu| |00002620| 6d 65 72 61 74 6f 72 20 | 3d 20 28 20 31 20 3c 3c |merator |= ( 1 <<| |00002630| 20 44 45 4e 4f 4d 5f 53 | 48 49 46 54 20 29 20 2f | DENOM_S|HIFT ) /| |00002640| 20 28 20 69 20 29 3b 0d | 09 62 6f 78 39 57 20 3d | ( i );.|.box9W =| |00002650| 20 39 20 2a 20 69 6e 42 | 6f 78 57 69 64 74 68 3b | 9 * inB|oxWidth;| |00002660| 09 09 2f 2f 20 33 20 63 | 6f 6c 6f 72 73 2c 20 33 |..// 3 c|olors, 3| |00002670| 20 62 6f 78 65 73 0d 09 | 62 45 6e 64 20 3d 20 62 | boxes..|bEnd = b| |00002680| 20 2b 20 62 6f 78 39 57 | 3b 0d 09 0d 09 62 31 52 | + box9W|;....b1R| |00002690| 20 3d 20 30 3b 20 62 31 | 47 20 3d 20 30 3b 20 62 | = 0; b1|G = 0; b| |000026a0| 31 42 20 3d 20 30 3b 0d | 09 62 32 52 20 3d 20 30 |1B = 0;.|.b2R = 0| |000026b0| 3b 20 62 32 47 20 3d 20 | 30 3b 20 62 32 42 20 3d |; b2G = |0; b2B =| |000026c0| 20 30 3b 0d 09 62 33 52 | 20 3d 20 69 20 3e 3e 20 | 0;..b3R| = i >> | |000026d0| 31 3b 20 62 33 47 20 3d | 20 62 33 52 3b 20 62 33 |1; b3G =| b3R; b3| |000026e0| 42 20 3d 20 62 33 52 3b | 09 09 2f 2f 20 72 6f 75 |B = b3R;|..// rou| |000026f0| 6e 64 20 75 70 20 77 68 | 65 6e 20 3e 20 2e 35 0d |nd up wh|en > .5.| |00002700| 09 66 6f 72 20 28 20 69 | 20 3d 20 30 3b 20 69 20 |.for ( i| = 0; i | |00002710| 3c 20 62 6f 78 39 57 3b | 20 69 2b 2b 20 29 20 7b |< box9W;| i++ ) {| |00002720| 0d 09 09 62 5b 20 69 20 | 5d 20 3d 20 30 3b 0d 09 |...b[ i |] = 0;..| |00002730| 7d 0d 09 0d 09 68 61 6c | 66 20 3d 20 33 20 2a 20 |}....hal|f = 3 * | |00002740| 69 6e 42 6f 78 57 69 64 | 74 68 20 2f 20 32 20 2d |inBoxWid|th / 2 -| |00002750| 20 31 3b 0d 09 69 6e 53 | 72 63 65 20 2b 3d 20 50 | 1;..inS|rce += P| |00002760| 5f 53 5a 20 2a 20 68 61 | 6c 66 3b 0d 09 75 73 65 |_SZ * ha|lf;..use| |00002770| 57 69 64 74 68 20 3d 20 | 69 6e 57 69 64 74 68 20 |Width = |inWidth | |00002780| 2d 20 68 61 6c 66 20 2d | 20 69 6e 42 6f 78 57 69 |- half -| inBoxWi| |00002790| 64 74 68 20 25 20 32 3b | 0d 0d 09 2f 2f 20 47 6f |dth % 2;|...// Go| |000027a0| 20 74 68 72 75 20 72 6f | 77 20 62 79 20 72 6f 77 | thru ro|w by row| |000027b0| 20 69 6e 20 74 68 65 20 | 73 6f 75 72 63 65 20 69 | in the |source i| |000027c0| 6d 67 0d 09 66 6f 72 20 | 28 20 3b 20 69 6e 48 65 |mg..for |( ; inHe| |000027d0| 69 67 68 74 20 3e 20 30 | 3b 20 69 6e 48 65 69 67 |ight > 0|; inHeig| |000027e0| 68 74 2d 2d 20 29 20 7b | 0d 09 09 0d 09 09 2f 2f |ht-- ) {|......//| |000027f0| 20 47 6f 20 74 68 72 75 | 20 74 68 65 20 72 6f 77 | Go thru| the row| |00002800| 0d 09 09 64 65 73 74 20 | 3d 20 69 6e 44 65 73 74 |...dest |= inDest| |00002810| 3b 0d 09 09 0d 09 09 66 | 6f 72 20 28 20 78 20 3d |;......f|or ( x =| |00002820| 20 2d 20 68 61 6c 66 20 | 2d 20 35 3b 20 78 20 3c | - half |- 5; x <| |00002830| 20 69 6e 57 69 64 74 68 | 3b 20 78 2b 2b 20 29 20 | inWidth|; x++ ) | |00002840| 7b 0d 09 09 09 09 0d 09 | 09 09 2f 2f 20 4d 61 69 |{.......|..// Mai| |00002850| 6e 74 61 69 6e 20 74 68 | 65 20 63 69 72 63 75 6c |ntain th|e circul| |00002860| 61 72 20 62 75 66 66 65 | 72 0d 09 09 09 69 66 20 |ar buffe|r....if | |00002870| 28 20 62 20 3d 3d 20 62 | 45 6e 64 20 29 0d 09 09 |( b == b|End )...| |00002880| 09 09 62 20 2d 3d 20 62 | 6f 78 39 57 3b 20 0d 09 |..b -= b|ox9W; ..| |00002890| 09 09 09 0d 09 09 09 2f | 2f 20 70 20 3d 20 66 65 |......./|/ p = fe| |000028a0| 74 63 68 20 6e 65 78 74 | 20 70 69 78 20 66 72 6f |tch next| pix fro| |000028b0| 6d 20 62 31 0d 09 09 09 | 69 66 20 28 20 78 20 3e |m b1....|if ( x >| |000028c0| 3d 20 30 20 26 26 20 78 | 20 3c 20 75 73 65 57 69 |= 0 && x| < useWi| |000028d0| 64 74 68 20 29 20 7b 0d | 09 09 09 09 76 61 6c 20 |dth ) {.|....val | |000028e0| 3d 20 2a 28 20 28 50 49 | 58 54 59 50 45 2a 29 20 |= *( (PI|XTYPE*) | |000028f0| 69 6e 53 72 63 65 20 29 | 3b 0d 09 09 09 09 69 6e |inSrce )|;.....in| |00002900| 53 72 63 65 20 2b 3d 20 | 50 5f 53 5a 3b 20 7d 0d |Srce += |P_SZ; }.| |00002910| 09 09 09 65 6c 73 65 0d | 09 09 09 09 76 61 6c 20 |...else.|....val | |00002920| 3d 20 69 6e 42 61 63 6b | 43 6f 6c 6f 72 3b 0d 09 |= inBack|Color;..| |00002930| 09 09 0d 09 09 09 2f 2f | 20 70 27 20 2b 3d 20 6e |......//| p' += n| |00002940| 65 77 20 70 69 78 20 2d | 20 65 6e 64 20 70 69 78 |ew pix -| end pix| |00002950| 20 61 6e 64 20 73 74 6f | 72 65 20 6e 65 77 20 70 | and sto|re new p| |00002960| 69 78 0d 09 09 09 69 20 | 3d 20 76 61 6c 20 3e 3e |ix....i |= val >>| |00002970| 20 52 45 44 53 48 49 46 | 54 3b 20 20 09 09 09 09 | REDSHIF|T; ....| |00002980| 62 31 52 20 2b 3d 20 69 | 20 2d 20 62 5b 30 5d 3b |b1R += i| - b[0];| |00002990| 09 09 62 5b 30 5d 20 3d | 20 69 3b 0d 09 09 09 69 |..b[0] =| i;....i| |000029a0| 20 3d 20 28 76 61 6c 20 | 3e 3e 20 47 52 4e 53 48 | = (val |>> GRNSH| |000029b0| 49 46 54 29 20 26 20 43 | 4f 4c 4d 41 53 4b 3b 20 |IFT) & C|OLMASK; | |000029c0| 09 62 31 47 20 2b 3d 20 | 69 20 2d 20 62 5b 31 5d |.b1G += |i - b[1]| |000029d0| 3b 09 09 62 5b 31 5d 20 | 3d 20 69 3b 0d 09 09 09 |;..b[1] |= i;....| |000029e0| 69 20 3d 20 76 61 6c 20 | 26 20 43 4f 4c 4d 41 53 |i = val |& COLMAS| |000029f0| 4b 3b 20 20 09 09 09 09 | 62 31 42 20 2b 3d 20 69 |K; ....|b1B += i| |00002a00| 20 2d 20 62 5b 32 5d 3b | 09 09 62 5b 32 5d 20 3d | - b[2];|..b[2] =| |00002a10| 20 69 3b 0d 0d 09 09 09 | 2f 2f 20 53 74 6f 72 65 | i;.....|// Store| |00002a20| 20 74 68 65 20 62 32 27 | 73 20 6e 65 77 20 70 69 | the b2'|s new pi| |00002a30| 78 20 61 6e 64 20 63 61 | 6c 63 20 69 74 73 20 6e |x and ca|lc its n| |00002a40| 65 77 20 70 69 78 65 6c | 0d 09 09 09 62 32 52 20 |ew pixel|....b2R | |00002a50| 2b 3d 20 62 31 52 20 2d | 20 62 5b 33 5d 3b 09 09 |+= b1R -| b[3];..| |00002a60| 62 5b 33 5d 20 3d 20 62 | 31 52 3b 0d 09 09 09 62 |b[3] = b|1R;....b| |00002a70| 32 47 20 2b 3d 20 62 31 | 47 20 2d 20 62 5b 34 5d |2G += b1|G - b[4]| |00002a80| 3b 09 09 62 5b 34 5d 20 | 3d 20 62 31 47 3b 0d 09 |;..b[4] |= b1G;..| |00002a90| 09 09 62 32 42 20 2b 3d | 20 62 31 42 20 2d 20 62 |..b2B +=| b1B - b| |00002aa0| 5b 35 5d 3b 09 09 62 5b | 35 5d 20 3d 20 62 31 42 |[5];..b[|5] = b1B| |00002ab0| 3b 0d 0d 09 09 09 2f 2f | 20 53 74 6f 72 65 20 74 |;.....//| Store t| |00002ac0| 68 65 20 62 33 27 73 20 | 6e 65 77 20 70 69 78 20 |he b3's |new pix | |00002ad0| 61 6e 64 20 63 61 6c 63 | 20 69 74 73 20 6e 65 77 |and calc| its new| |00002ae0| 20 70 69 78 65 6c 0d 09 | 09 09 62 33 52 20 2b 3d | pixel..|..b3R +=| |00002af0| 20 62 32 52 20 2d 20 62 | 5b 36 5d 3b 09 09 62 5b | b2R - b|[6];..b[| |00002b00| 36 5d 20 3d 20 62 32 52 | 3b 0d 09 09 09 62 33 47 |6] = b2R|;....b3G| |00002b10| 20 2b 3d 20 62 32 47 20 | 2d 20 62 5b 37 5d 3b 09 | += b2G |- b[7];.| |00002b20| 09 62 5b 37 5d 20 3d 20 | 62 32 47 3b 0d 09 09 09 |.b[7] = |b2G;....| |00002b30| 62 33 42 20 2b 3d 20 62 | 32 42 20 2d 20 62 5b 38 |b3B += b|2B - b[8| |00002b40| 5d 3b 09 09 62 5b 38 5d | 20 3d 20 62 32 42 3b 0d |];..b[8]| = b2B;.| |00002b50| 09 09 09 0d 09 09 09 2f | 2f 20 54 72 61 6e 73 70 |......./|/ Transp| |00002b60| 6f 73 65 20 74 68 65 20 | 66 69 6e 61 6c 20 70 69 |ose the |final pi| |00002b70| 78 65 6c 20 63 61 6c 63 | 75 6c 61 74 69 6f 6e 73 |xel calc|ulations| |00002b80| 0d 09 09 09 69 66 20 28 | 20 78 20 3e 3d 20 30 20 |....if (| x >= 0 | |00002b90| 29 20 7b 0d 09 09 09 09 | 2a 28 28 50 49 58 54 59 |) {.....|*((PIXTY| |00002ba0| 50 45 2a 29 64 65 73 74 | 29 20 3d 20 28 20 28 28 |PE*)dest|) = ( ((| |00002bb0| 20 6e 75 6d 65 72 61 74 | 6f 72 20 2a 20 62 33 52 | numerat|or * b3R| |00002bc0| 20 29 20 3e 3e 20 44 45 | 4e 4f 4d 5f 53 48 49 46 | ) >> DE|NOM_SHIF| |00002bd0| 54 29 20 3c 3c 20 52 45 | 44 53 48 49 46 54 20 29 |T) << RE|DSHIFT )| |00002be0| 20 7c 20 28 20 28 28 20 | 6e 75 6d 65 72 61 74 6f | | ( (( |numerato| |00002bf0| 72 20 2a 20 62 33 47 20 | 29 20 3e 3e 20 44 45 4e |r * b3G |) >> DEN| |00002c00| 4f 4d 5f 53 48 49 46 54 | 29 20 3c 3c 20 47 52 4e |OM_SHIFT|) << GRN| |00002c10| 53 48 49 46 54 20 29 20 | 7c 20 28 28 20 6e 75 6d |SHIFT ) || (( num| |00002c20| 65 72 61 74 6f 72 20 2a | 20 62 33 42 20 29 20 3e |erator *| b3B ) >| |00002c30| 3e 20 44 45 4e 4f 4d 5f | 53 48 49 46 54 29 3b 0d |> DENOM_|SHIFT);.| |00002c40| 09 09 09 09 64 65 73 74 | 20 2b 3d 20 69 6e 44 65 |....dest| += inDe| |00002c50| 73 74 52 6f 77 57 69 64 | 74 68 3b 0d 09 09 09 7d |stRowWid|th;....}| |00002c60| 0d 09 09 09 0d 09 09 09 | 2f 2f 20 4d 61 69 6e 74 |........|// Maint| |00002c70| 61 69 6e 20 6f 75 72 20 | 63 69 72 63 75 6c 61 72 |ain our |circular| |00002c80| 20 62 75 66 66 65 72 0d | 09 09 09 62 20 2b 3d 20 | buffer.|...b += | |00002c90| 39 3b 0d 0d 09 09 7d 0d | 09 09 09 0d 09 09 2f 2f |9;....}.|......//| |00002ca0| 20 44 6f 20 6e 65 78 74 | 20 72 6f 77 0d 09 09 69 | Do next| row...i| |00002cb0| 6e 53 72 63 65 20 2b 3d | 20 69 6e 53 72 63 65 52 |nSrce +=| inSrceR| |00002cc0| 6f 77 57 69 64 74 68 20 | 2d 20 50 5f 53 5a 20 2a |owWidth |- P_SZ *| |00002cd0| 20 75 73 65 57 69 64 74 | 68 3b 0d 09 09 69 6e 44 | useWidt|h;...inD| |00002ce0| 65 73 74 20 2b 3d 20 50 | 5f 53 5a 3b 0d 09 7d 0d |est += P|_SZ;..}.| |00002cf0| 7d 0d 0d 0d 0d 2f 2a 0d | 74 68 69 73 20 6d 6f 64 |}..../*.|this mod| |00002d00| 69 66 69 63 61 74 69 6f | 6e 20 74 6f 20 42 6f 78 |ificatio|n to Box| |00002d10| 42 6c 75 72 20 6f 6e 6c | 79 20 62 6c 75 72 73 20 |Blur onl|y blurs | |00002d20| 74 68 65 20 78 20 72 6f | 77 0d 76 6f 69 64 20 50 |the x ro|w.void P| |00002d30| 69 78 50 6f 72 74 3a 3a | 5f 42 6f 78 42 6c 75 72 |ixPort::|_BoxBlur| |00002d40| 28 20 63 68 61 72 2a 20 | 69 6e 53 72 63 65 2c 20 |( char* |inSrce, | |00002d50| 63 68 61 72 2a 2c 20 69 | 6e 74 20 69 6e 42 6f 78 |char*, i|nt inBox| |00002d60| 57 69 64 74 68 2c 20 69 | 6e 74 20 69 6e 57 69 64 |Width, i|nt inWid| |00002d70| 74 68 2c 20 69 6e 74 20 | 69 6e 48 65 69 67 68 74 |th, int |inHeight| |00002d80| 2c 20 69 6e 74 20 69 6e | 53 72 63 65 52 6f 77 57 |, int in|SrceRowW| |00002d90| 69 64 74 68 2c 20 69 6e | 74 2c 20 63 68 61 72 2a |idth, in|t, char*| |00002da0| 20 62 2c 20 75 6e 73 69 | 67 6e 65 64 20 6c 6f 6e | b, unsi|gned lon| |00002db0| 67 20 69 6e 42 61 63 6b | 43 6f 6c 6f 72 20 29 20 |g inBack|Color ) | |00002dc0| 7b 0d 0d 09 72 65 67 69 | 73 74 65 72 20 63 68 61 |{...regi|ster cha| |00002dd0| 72 20 2a 62 45 6e 64 3b | 0d 09 72 65 67 69 73 74 |r *bEnd;|..regist| |00002de0| 65 72 20 75 6e 73 69 67 | 6e 65 64 20 6c 6f 6e 67 |er unsig|ned long| |00002df0| 20 62 31 52 2c 20 62 31 | 47 2c 20 62 31 42 2c 20 | b1R, b1|G, b1B, | |00002e00| 62 32 52 2c 20 62 32 47 | 2c 20 62 32 42 2c 20 62 |b2R, b2G|, b2B, b| |00002e10| 33 52 2c 20 62 33 47 2c | 20 62 33 42 2c 20 76 61 |3R, b3G,| b3B, va| |00002e20| 6c 2c 20 62 6f 78 39 57 | 2c 20 69 2c 20 64 65 6e |l, box9W|, i, den| |00002e30| 6f 6d 3b 0d 09 72 65 67 | 69 73 74 65 72 20 69 6e |om;..reg|ister in| |00002e40| 74 20 78 2c 20 68 61 6c | 66 2c 20 75 73 65 57 69 |t x, hal|f, useWi| |00002e50| 64 74 68 3b 0d 09 0d 09 | 0d 09 64 65 6e 6f 6d 20 |dth;....|..denom | |00002e60| 3d 20 69 6e 42 6f 78 57 | 69 64 74 68 20 2a 20 69 |= inBoxW|idth * i| |00002e70| 6e 42 6f 78 57 69 64 74 | 68 20 2a 20 69 6e 42 6f |nBoxWidt|h * inBo| |00002e80| 78 57 69 64 74 68 3b 0d | 09 62 6f 78 39 57 20 3d |xWidth;.|.box9W =| |00002e90| 20 33 36 20 2a 20 69 6e | 42 6f 78 57 69 64 74 68 | 36 * in|BoxWidth| |00002ea0| 3b 09 09 2f 2f 20 33 20 | 63 6f 6c 6f 72 73 2c 20 |;..// 3 |colors, | |00002eb0| 33 20 62 6f 78 65 73 2c | 20 34 20 62 79 74 65 73 |3 boxes,| 4 bytes| |00002ec0| 20 70 65 72 20 6c 6f 6e | 67 0d 09 62 45 6e 64 20 | per lon|g..bEnd | |00002ed0| 3d 20 62 20 2b 20 62 6f | 78 39 57 3b 0d 09 0d 09 |= b + bo|x9W;....| |00002ee0| 62 31 52 20 3d 20 30 3b | 20 62 31 47 20 3d 20 30 |b1R = 0;| b1G = 0| |00002ef0| 3b 20 62 31 42 20 3d 20 | 30 3b 0d 09 62 32 52 20 |; b1B = |0;..b2R | |00002f00| 3d 20 30 3b 20 62 32 47 | 20 3d 20 30 3b 20 62 32 |= 0; b2G| = 0; b2| |00002f10| 42 20 3d 20 30 3b 0d 09 | 62 33 52 20 3d 20 30 3b |B = 0;..|b3R = 0;| |00002f20| 20 62 33 47 20 3d 20 30 | 3b 20 62 33 42 20 3d 20 | b3G = 0|; b3B = | |00002f30| 30 3b 0d 09 66 6f 72 20 | 28 20 69 20 3d 20 30 3b |0;..for |( i = 0;| |00002f40| 20 69 20 3c 20 39 20 2a | 20 69 6e 42 6f 78 57 69 | i < 9 *| inBoxWi| |00002f50| 64 74 68 3b 20 29 20 7b | 0d 09 09 2a 28 28 55 4c |dth; ) {|...*((UL| |00002f60| 2a 29 20 62 20 2b 20 69 | 29 20 3d 20 30 3b 09 69 |*) b + i|) = 0;.i| |00002f70| 2b 2b 3b 0d 09 7d 0d 09 | 0d 09 68 61 6c 66 20 3d |++;..}..|..half =| |00002f80| 20 33 20 2a 20 69 6e 42 | 6f 78 57 69 64 74 68 20 | 3 * inB|oxWidth | |00002f90| 2f 20 32 20 2d 20 31 3b | 0d 09 69 6e 53 72 63 65 |/ 2 - 1;|..inSrce| |00002fa0| 20 2b 3d 20 50 5f 53 5a | 20 2a 20 68 61 6c 66 3b | += P_SZ| * half;| |00002fb0| 0d 09 75 73 65 57 69 64 | 74 68 20 3d 20 69 6e 57 |..useWid|th = inW| |00002fc0| 69 64 74 68 20 2d 20 68 | 61 6c 66 20 2d 20 69 6e |idth - h|alf - in| |00002fd0| 42 6f 78 57 69 64 74 68 | 20 25 20 32 3b 0d 0d 09 |BoxWidth| % 2;...| |00002fe0| 2f 2f 20 47 6f 20 74 68 | 72 75 20 72 6f 77 20 62 |// Go th|ru row b| |00002ff0| 79 20 72 6f 77 20 69 6e | 20 74 68 65 20 73 6f 75 |y row in| the sou| |00003000| 72 63 65 20 69 6d 67 0d | 09 66 6f 72 20 28 20 3b |rce img.|.for ( ;| |00003010| 20 69 6e 48 65 69 67 68 | 74 20 3e 20 30 3b 20 69 | inHeigh|t > 0; i| |00003020| 6e 48 65 69 67 68 74 2d | 2d 20 29 20 7b 0d 09 09 |nHeight-|- ) {...| |00003030| 09 09 0d 09 09 66 6f 72 | 20 28 20 78 20 3d 20 2d |.....for| ( x = -| |00003040| 20 68 61 6c 66 20 2d 20 | 35 3b 20 78 20 3c 20 69 | half - |5; x < i| |00003050| 6e 57 69 64 74 68 3b 20 | 78 2b 2b 20 29 20 7b 0d |nWidth; |x++ ) {.| |00003060| 09 09 09 09 0d 09 09 09 | 2f 2f 20 4d 61 69 6e 74 |........|// Maint| |00003070| 61 69 6e 20 6f 75 72 20 | 63 69 72 63 75 6c 61 72 |ain our |circular| |00003080| 20 62 75 66 66 65 72 0d | 09 09 09 69 66 20 28 20 | buffer.|...if ( | |00003090| 62 20 3d 3d 20 62 45 6e | 64 20 29 20 0d 09 09 09 |b == bEn|d ) ....| |000030a0| 09 62 20 2d 3d 20 62 6f | 78 39 57 3b 20 0d 0d 09 |.b -= bo|x9W; ...| |000030b0| 09 09 2f 2f 20 70 20 3d | 20 66 65 74 63 68 20 6e |..// p =| fetch n| |000030c0| 65 78 74 20 70 69 78 20 | 66 72 6f 6d 20 62 31 0d |ext pix |from b1.| |000030d0| 09 09 09 69 66 20 28 20 | 78 20 3e 3d 20 30 20 26 |...if ( |x >= 0 &| |000030e0| 26 20 78 20 3c 20 75 73 | 65 57 69 64 74 68 20 29 |& x < us|eWidth )| |000030f0| 20 7b 0d 09 09 09 09 76 | 61 6c 20 3d 20 2a 28 20 | {.....v|al = *( | |00003100| 28 50 49 58 54 59 50 45 | 2a 29 20 69 6e 53 72 63 |(PIXTYPE|*) inSrc| |00003110| 65 20 29 3b 7d 0d 09 09 | 09 65 6c 73 65 0d 09 09 |e );}...|.else...| |00003120| 09 09 76 61 6c 20 3d 20 | 69 6e 42 61 63 6b 43 6f |..val = |inBackCo| |00003130| 6c 6f 72 3b 0d 09 09 09 | 0d 09 09 09 2f 2f 20 70 |lor;....|....// p| |00003140| 27 20 2b 3d 20 6e 65 77 | 20 70 69 78 20 2d 20 65 |' += new| pix - e| |00003150| 6e 64 20 70 69 78 20 61 | 6e 64 20 73 74 6f 72 65 |nd pix a|nd store| |00003160| 20 6e 65 77 20 70 69 78 | 0d 09 09 09 69 20 3d 20 | new pix|....i = | |00003170| 76 61 6c 20 3e 3e 20 52 | 45 44 53 48 49 46 54 3b |val >> R|EDSHIFT;| |00003180| 20 20 09 09 09 09 62 31 | 52 20 2b 3d 20 69 20 2d | ....b1|R += i -| |00003190| 20 2a 28 28 55 4c 2a 29 | 62 29 3b 09 09 2a 28 28 | *((UL*)|b);..*((| |000031a0| 55 4c 2a 29 62 29 20 3d | 20 69 3b 09 62 20 2b 3d |UL*)b) =| i;.b +=| |000031b0| 20 34 3b 0d 09 09 09 69 | 20 3d 20 28 76 61 6c 20 | 4;....i| = (val | |000031c0| 3e 3e 20 47 52 4e 53 48 | 49 46 54 29 20 26 20 43 |>> GRNSH|IFT) & C| |000031d0| 4f 4c 4d 41 53 4b 3b 20 | 09 62 31 47 20 2b 3d 20 |OLMASK; |.b1G += | |000031e0| 69 20 2d 20 2a 28 28 55 | 4c 2a 29 62 29 3b 09 09 |i - *((U|L*)b);..| |000031f0| 2a 28 28 55 4c 2a 29 62 | 29 20 3d 20 69 3b 09 62 |*((UL*)b|) = i;.b| |00003200| 20 2b 3d 20 34 3b 0d 09 | 09 09 69 20 3d 20 76 61 | += 4;..|..i = va| |00003210| 6c 20 26 20 43 4f 4c 4d | 41 53 4b 3b 20 20 09 09 |l & COLM|ASK; ..| |00003220| 09 09 62 31 42 20 2b 3d | 20 69 20 2d 20 2a 28 28 |..b1B +=| i - *((| |00003230| 55 4c 2a 29 62 29 3b 09 | 09 2a 28 28 55 4c 2a 29 |UL*)b);.|.*((UL*)| |00003240| 62 29 20 3d 20 69 3b 09 | 62 20 2b 3d 20 34 3b 0d |b) = i;.|b += 4;.| |00003250| 0d 09 09 09 2f 2f 20 53 | 74 6f 72 65 20 74 68 65 |....// S|tore the| |00003260| 20 62 32 27 73 20 6e 65 | 77 20 70 69 78 20 61 6e | b2's ne|w pix an| |00003270| 64 20 63 61 6c 63 20 69 | 74 73 20 6e 65 77 20 70 |d calc i|ts new p| |00003280| 69 78 65 6c 0d 09 09 09 | 62 32 52 20 2b 3d 20 62 |ixel....|b2R += b| |00003290| 31 52 20 2d 20 2a 28 28 | 55 4c 2a 29 62 29 3b 09 |1R - *((|UL*)b);.| |000032a0| 09 2a 28 28 55 4c 2a 29 | 62 29 20 3d 20 62 31 52 |.*((UL*)|b) = b1R| |000032b0| 3b 09 62 20 2b 3d 20 34 | 3b 0d 09 09 09 62 32 47 |;.b += 4|;....b2G| |000032c0| 20 2b 3d 20 62 31 47 20 | 2d 20 2a 28 28 55 4c 2a | += b1G |- *((UL*| |000032d0| 29 62 29 3b 09 09 2a 28 | 28 55 4c 2a 29 62 29 20 |)b);..*(|(UL*)b) | |000032e0| 3d 20 62 31 47 3b 09 62 | 20 2b 3d 20 34 3b 0d 09 |= b1G;.b| += 4;..| |000032f0| 09 09 62 32 42 20 2b 3d | 20 62 31 42 20 2d 20 2a |..b2B +=| b1B - *| |00003300| 28 28 55 4c 2a 29 62 29 | 3b 09 09 2a 28 28 55 4c |((UL*)b)|;..*((UL| |00003310| 2a 29 62 29 20 3d 20 62 | 31 42 3b 09 62 20 2b 3d |*)b) = b|1B;.b +=| |00003320| 20 34 3b 0d 0d 09 09 09 | 2f 2f 20 53 74 6f 72 65 | 4;.....|// Store| |00003330| 20 74 68 65 20 62 33 27 | 73 20 6e 65 77 20 70 69 | the b3'|s new pi| |00003340| 78 20 61 6e 64 20 63 61 | 6c 63 20 69 74 73 20 6e |x and ca|lc its n| |00003350| 65 77 20 70 69 78 65 6c | 0d 09 09 09 62 33 52 20 |ew pixel|....b3R | |00003360| 2b 3d 20 62 32 52 20 2d | 20 2a 28 28 55 4c 2a 29 |+= b2R -| *((UL*)| |00003370| 62 29 3b 09 09 2a 28 28 | 55 4c 2a 29 62 29 20 3d |b);..*((|UL*)b) =| |00003380| 20 62 32 52 3b 09 62 20 | 2b 3d 20 34 3b 0d 09 09 | b2R;.b |+= 4;...| |00003390| 09 62 33 47 20 2b 3d 20 | 62 32 47 20 2d 20 2a 28 |.b3G += |b2G - *(| |000033a0| 28 55 4c 2a 29 62 29 3b | 09 09 2a 28 28 55 4c 2a |(UL*)b);|..*((UL*| |000033b0| 29 62 29 20 3d 20 62 32 | 47 3b 09 62 20 2b 3d 20 |)b) = b2|G;.b += | |000033c0| 34 3b 0d 09 09 09 62 33 | 42 20 2b 3d 20 62 32 42 |4;....b3|B += b2B| |000033d0| 20 2d 20 2a 28 28 55 4c | 2a 29 62 29 3b 09 09 2a | - *((UL|*)b);..*| |000033e0| 28 28 55 4c 2a 29 62 29 | 20 3d 20 62 32 42 3b 09 |((UL*)b)| = b2B;.| |000033f0| 62 20 2b 3d 20 34 3b 0d | 09 09 09 0d 09 09 09 2f |b += 4;.|......./| |00003400| 2f 20 54 72 61 6e 73 70 | 6f 73 65 20 74 68 65 20 |/ Transp|ose the | |00003410| 66 69 6e 61 6c 20 70 69 | 78 65 6c 20 63 61 6c 63 |final pi|xel calc| |00003420| 75 6c 61 74 69 6f 6e 73 | 0d 09 09 09 69 66 20 28 |ulations|....if (| |00003430| 20 78 20 3e 3d 20 30 20 | 29 20 7b 0d 09 09 09 09 | x >= 0 |) {.....| |00003440| 2a 28 28 50 49 58 54 59 | 50 45 2a 29 69 6e 53 72 |*((PIXTY|PE*)inSr| |00003450| 63 65 29 20 3d 20 28 20 | 28 62 33 52 2f 64 65 6e |ce) = ( |(b3R/den| |00003460| 6f 6d 29 20 3c 3c 20 52 | 45 44 53 48 49 46 54 20 |om) << R|EDSHIFT | |00003470| 29 20 7c 20 28 20 28 20 | 62 33 47 2f 64 65 6e 6f |) | ( ( |b3G/deno| |00003480| 6d 20 29 20 3c 3c 20 47 | 52 4e 53 48 49 46 54 20 |m ) << G|RNSHIFT | |00003490| 29 20 7c 20 28 20 62 33 | 42 2f 64 65 6e 6f 6d 20 |) | ( b3|B/denom | |000034a0| 29 3b 0d 09 09 09 09 69 | 6e 53 72 63 65 20 2b 3d |);.....i|nSrce +=| |000034b0| 20 50 5f 53 5a 3b 0d 09 | 09 09 7d 0d 09 09 7d 0d | P_SZ;..|..}...}.| |000034c0| 09 09 09 0d 09 09 2f 2f | 20 44 6f 20 6e 65 78 74 |......//| Do next| |000034d0| 20 72 6f 77 0d 09 09 69 | 6e 53 72 63 65 20 2b 3d | row...i|nSrce +=| |000034e0| 20 69 6e 53 72 63 65 52 | 6f 77 57 69 64 74 68 20 | inSrceR|owWidth | |000034f0| 2d 20 50 5f 53 5a 20 2a | 20 69 6e 57 69 64 74 68 |- P_SZ *| inWidth| |00003500| 3b 0d 09 7d 0d 7d 0d 2a | 2f 0d 0d 0d 0d 23 75 6e |;..}.}.*|/....#un| |00003510| 64 65 66 20 50 49 58 54 | 59 50 45 0d 23 75 6e 64 |def PIXT|YPE.#und| |00003520| 65 66 20 52 45 44 53 48 | 49 46 54 0d 23 75 6e 64 |ef REDSH|IFT.#und| |00003530| 65 66 20 47 52 4e 53 48 | 49 46 54 0d 23 75 6e 64 |ef GRNSH|IFT.#und| |00003540| 65 66 20 43 4f 4c 4d 41 | 53 4b 0d 23 75 6e 64 65 |ef COLMA|SK.#unde| |00003550| 66 20 5f 4c 69 6e 65 0d | 23 75 6e 64 65 66 20 5f |f _Line.|#undef _| |00003560| 4c 69 6e 65 57 0d 23 75 | 6e 64 65 66 20 5f 42 6f |LineW.#u|ndef _Bo| |00003570| 78 42 6c 75 72 0d 23 75 | 6e 64 65 66 20 5f 43 72 |xBlur.#u|ndef _Cr| |00003580| 6f 73 73 42 6c 75 72 0d | 23 75 6e 64 65 66 20 5f |ossBlur.|#undef _| |00003590| 45 72 61 73 65 52 65 63 | 74 0d 23 75 6e 64 65 66 |EraseRec|t.#undef| |000035a0| 20 5f 5f 43 6c 72 0d 00 | 00 00 00 00 00 00 00 00 | __Clr..|........| |000035b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000035c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000035d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000035e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000035f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003600| 00 00 01 00 00 00 01 54 | 00 00 00 54 00 00 00 46 |.......T|...T...F| |00003610| 31 10 00 67 06 5d 41 6a | f6 60 34 30 3c f3 dc 43 |1..g.]Aj|.`40<..C| |00003620| f1 10 02 40 e7 46 fc 26 | 00 26 51 26 0b 66 04 46 |...@.F.&|.&Q&.f.F| |00003630| df 60 1c b1 eb 00 04 67 | 04 22 4b 60 ec 22 93 46 |.`.....g|."K`.".F| |00003640| df 42 6a 00 02 a0 2a 20 | 4b a1 28 a0 2a a0 23 4c |.Bj...* |K.(.*.#L| |00003650| df 0c 08 4e ba fb 80 76 | 04 b2 43 64 02 36 01 4b |...N...v|..Cd.6.K| |00003660| fa fa be 2b 4b 00 02 34 | 03 48 42 14 00 4a 43 67 |...+K..4|.HB..JCg| |00003670| 04 4e 94 66 38 47 fa fa | 60 76 0b b4 33 30 00 57 |.N.f8G..|`v..30.W| |00003680| cb ff fa 66 2a e5 4b 3a | 83 26 73 30 18 20 0b 67 |...f*.K:|.&s0. .g| |00003690| 1e 26 6b 00 04 26 53 36 | 2b 00 10 26 6b 00 14 48 |.&k..&S6|+..&k..H| |000036a0| 42 d6 c2 96 42 4e ac 00 | 02 66 02 60 08 4e 75 76 |B...BN..|.f.`.Nuv| |000036b0| 00 4e ec 00 02 4a 43 6c | 04 30 3c f3 e3 2f 0a 43 |.N...JCl|.0<../.C| |000036c0| fa fa 5e 45 fa fa 12 32 | 11 24 72 10 18 20 6a 00 |..^E...2|.$r.. j.| |000036d0| 04 20 50 32 28 00 10 92 | 43 31 41 00 12 26 69 00 |. P2(...|C1A..&i.| |000036e0| 02 24 68 00 14 b4 68 00 | 10 6f 04 34 28 00 10 53 |.$h...h.|.o.4(..S| |000036f0| 42 6d 08 15 b3 20 00 20 | 00 60 f4 24 5f 31 40 00 |Bm... . |.`.$_1@.| |00003700| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 00 00 00 |...H..Mo|naco....| |00003710| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |00003720| 00 00 00 00 00 00 00 03 | 00 04 00 6a 00 12 02 36 |........|...j...6| |00003730| 02 b6 00 6a 00 12 02 36 | 02 b6 b3 c9 64 c5 00 00 |...j...6|....d...| |00003740| 26 4c 00 00 26 4c 00 00 | 23 c6 01 00 00 00 00 04 |&L..&L..|#.......| |00003750| 00 01 00 01 00 00 01 00 | 00 00 01 54 00 00 00 54 |........|...T...T| |00003760| 00 00 00 46 05 bf 0d e0 | 14 92 00 00 00 1c 00 46 |...F....|.......F| |00003770| 00 01 4d 50 53 52 00 00 | 00 12 4d 57 42 42 00 00 |..MPSR..|..MWBB..| |00003780| 00 1e 03 ed ff ff 00 00 | 00 00 00 00 00 00 03 f0 |........|........| |00003790| ff ff 00 00 00 4c 00 00 | 00 00 00 00 00 00 00 00 |.....L..|........| |000037a0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000037b0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000037c0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000037d0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000037e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| |000037f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........| +--------+-------------------------+-------------------------+--------+--------+